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?

cz_dl
fuente

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.

MrTelly
fuente
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>
Robert Macnee
fuente
Vea esta línea para más ejemplos: blogs.msdn.com/llobo/archive/2008/05/19/…
Ashley Davis
Vea también este msdn.microsoft.com/en-us/library/…
Tom A