Ok, es war eine schöne Überraschung (nach mehrmaligem Schreiben), dass im System.Windows.Controls- Namespace bereits ein BooleanToVisibilityConverter vorhanden ist .
Wahrscheinlich gibt es mehr solche versteckten Zeitsparer.
Hat jemand welche?
Antworten:
Ich habe ein schnelles Schleppnetz mit dem Objektbrowser gemacht und das habe ich.
Abgeleitet von 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
Abgeleitet von IMultiValueConverter
:
System.Windows.Controls.BorderGapMaskConverter
System.Windows.Navigation.JournalEntryUnifiedViewConverter
System.Windows.Controls.MenuScrollingVisibilityConverter
Microsoft.Windows.Themes.ProgressBarBrushConverter
Microsoft.Windows.Themes.ProgressBarHighlightConverter
Beachten Sie, dass die Xceed (keine Verbindung) mit ihrem DataGrid kostenlos verfügbar sind. Darüber hinaus gibt es einige clevere Dinge wie den Debugging-Konverter . Ich habe auch den letzten IValueConverter verwendet und ich bin sicher, dass es noch einige weitere Vorteile der Lambda-Funktion gibt.
Vor 3.5 SP1 war ein IValueConverter für die Formatierung der Zeichenfolgen erforderlich. Jetzt können Sie dazu die StringFormat- Eigenschaft für die Bindung verwenden.
Von der MSDN-Seite:
<DataTemplate>
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} -- Now only {1:C}!">
<Binding Path="Description"/>
<Binding Path="Price"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</DataTemplate>