Eingebaute WPF IValueConverter


83

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:


98

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.


3
Ich hoffe, es macht Ihnen nichts aus - bearbeiten Sie dies einfach, indem Sie die Ergebnisse sortieren. Schön zu sehen, was eingebaut ist und was Xceed-spezifisch ist.
Eddie Parker

1
Ich frage mich, welche davon noch auf der Universal Windows Platform für die Entwicklung von Windows 10 Universal Apps verfügbar sind.
Alex Vang

1
Unter MSDN enthält der Abschnitt Versionsinformationen nur ".NET Framework - Verfügbar seit 3.0" für alle Konverter von Microsoft. Es sieht so aus, als würde die universelle Windows-Plattform @AHelloWorldDev nicht unterstützt. (ZB System.Array gibt UWP-Unterstützung explizit im Abschnitt Versionsinformationen an.)
Palec

28

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>

Weitere Beispiele finden Sie in dieser Zeile: blogs.msdn.com/llobo/archive/2008/05/19/…
Ashley Davis

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.