Convertidores WPF IValueConverters integrados


84

Ok, fue una agradable sorpresa (después de escribirlo varias veces) descubrir que ya existe un BooleanToVisibilityConverter en el espacio de nombres System.Windows.Controls .

Probablemente hay más ahorradores de tiempo ocultos.

¿Alguien tiene algo?

Respuestas:


99

Hice una búsqueda rápida usando el Explorador de objetos y esto es lo que tengo.

Derivado de IValueConverter:

System.Windows.Controls.AlternationConverter
System.Windows.Controls.BooleanToVisibilityConverter
System.Windows.Documents.ZoomPercentageConverter
System.Windows.Navigation.JournalEntryListConverter

Xceed.Wpf.DataGrid.Converters.CurrencyConverter
Xceed.Wpf.DataGrid.Converters.DateTimeToStringConverter
Xceed.Wpf.DataGrid.Converters.GreaterThanZeroConverter
Xceed.Wpf.DataGrid.Converters.IndexToOddConverter
Xceed.Wpf.DataGrid.Converters.IntAdditionConverter
Xceed.Wpf.DataGrid.Converters.InverseBooleanConverter
Xceed.Wpf.DataGrid.Converters.LevelToOpacityConverter
Xceed.Wpf.DataGrid.Converters.MultimodalResultConverter
Xceed.Wpf.DataGrid.Converters.NegativeDoubleConverter
Xceed.Wpf.DataGrid.Converters.NullToBooleanConverter
Xceed.Wpf.DataGrid.Converters.SourceDataConverter
Xceed.Wpf.DataGrid.Converters.StringFormatConverter
Xceed.Wpf.DataGrid.Converters.ThicknessConverter
Xceed.Wpf.DataGrid.Converters.TypeToBooleanConverter
Xceed.Wpf.DataGrid.Converters.TypeToVisibilityConverter
Xceed.Wpf.DataGrid.Converters.ValueToMaskedTextConverter

Derivado de IMultiValueConverter:

System.Windows.Controls.BorderGapMaskConverter
System.Windows.Navigation.JournalEntryUnifiedViewConverter
System.Windows.Controls.MenuScrollingVisibilityConverter

Microsoft.Windows.Themes.ProgressBarBrushConverter
Microsoft.Windows.Themes.ProgressBarHighlightConverter

Tenga en cuenta que los Xceed (sin conexión) están disponibles gratis con su DataGrid. Además de esos, hay algunas cosas inteligentes como el convertidor de depuración . También utilicé el último IValueConverter y estoy seguro de que también se pueden encontrar más bondades de función lambda.


3
Espero que no le importe, simplemente edite esto ordenando los resultados. Es bueno ver lo que está incorporado y lo que es específico de Xceed.
— Eddie Parker

1
Me pregunto cuáles de ellos todavía están disponibles en la Plataforma universal de Windows para desarrollar aplicaciones universales de Windows 10.
— Alex Vang

1
En MSDN, la sección Información de la versión contiene solo ".NET Framework - Disponible desde 3.0" para todos los convertidores de Microsoft. Parece que la Plataforma universal de Windows no es compatible, @AHelloWorldDev. (Por ejemplo, System.Array indica la compatibilidad con UWP explícitamente en la sección Información de la versión).
— Palec

28

Antes de 3.5 SP1, se requería un IValueConverter para formatear cadenas. Ahora, puede usar la propiedad StringFormat en Binding para hacer esto.

Desde la página de MSDN:

<DataTemplate>
  <TextBlock>
    <TextBlock.Text>
      <MultiBinding  StringFormat="{}{0} -- Now only {1:C}!">
        <Binding Path="Description"/>
        <Binding Path="Price"/>
      </MultiBinding>
    </TextBlock.Text>
  </TextBlock>
</DataTemplate>

Vea esta línea para más ejemplos: blogs.msdn.com/llobo/archive/2008/05/19/…
— Ashley Davis

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.