内置WPF IValueConverters

cz_*_*_dl 81 wpf converters

好吧,这是一个惊喜(写了几次之后),发现已经有一个BooleanToVisibilityConverterSystem.Windows.Controls命名空间.
可能还有更多这样隐藏的节省时间的人.
有人有吗?

MrT*_*lly 94

我使用对象浏览器快速拖网,这就是我所拥有的.

来源于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

来源于IMultiValueConverter:

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

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

注意Xceed(没有连接)可以免费使用它们的DataGrid.除了调试转换器之外还有一些聪明的东西.我还使用了最后一个IValueConverter,我确信还有一些lambda函数的优点.

  • 希望你不介意 - 只需通过对结果进行排序来编辑它.很高兴看到内置的内容以及Xceed的具体内容. (2认同)

Rob*_*nee 26

在3.5 SP1之前,字符串格式化需要IValueConverter.现在,您可以在Binding上使用StringFormat属性来执行此操作.

从MSDN页面:

<DataTemplate>
  <TextBlock>
    <TextBlock.Text>
      <MultiBinding  StringFormat="{}{0} -- Now only {1:C}!">
        <Binding Path="Description"/>
        <Binding Path="Price"/>
      </MultiBinding>
    </TextBlock.Text>
  </TextBlock>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)