Built-in WPF IValueConverters

后端 未结 2 1641
轻奢々
轻奢々 2020-12-12 09:21

Ok, it was a nice surprise (after writing it several times) to find that there already is a BooleanToVisibilityConverter in System.Windows.Controls

相关标签:
2条回答
  • 2020-12-12 09:58

    Before 3.5 SP1, an IValueConverter was required for string formatting. Now, you can use the StringFormat property on Binding to do this.

    From the MSDN page:

    <DataTemplate>
      <TextBlock>
        <TextBlock.Text>
          <MultiBinding  StringFormat="{}{0} -- Now only {1:C}!">
            <Binding Path="Description"/>
            <Binding Path="Price"/>
          </MultiBinding>
        </TextBlock.Text>
      </TextBlock>
    </DataTemplate>
    
    0 讨论(0)
  • 2020-12-12 10:04

    I did a quick trawl using the Object Browser and this is what I have.

    Derived from 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

    Derived from IMultiValueConverter:

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

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

    Note the Xceed ones (no connection) are available free with their DataGrid. As well as those there's some clever stuff around like the debugging converter. I've also used the last IValueConverter and I'm sure there's some further lambda function goodness to be found, too.

    0 讨论(0)
提交回复
热议问题