内置WPF IValueConverters


84

好的,发现它在System.Windows.Controls命名空间中已经存在一个BooleanToVisibilityConverter,这是一个很好的惊喜(在多次编写之后)。

可能还有更多这样的隐藏时间节省者。

有人来吗

Answers:


99

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

来自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函数。


3
希望您不介意-只需对结果进行排序即可对其进行编辑。很高兴看到内置的功能和Xceed的特定功能。
艾迪·帕克

1
我想知道在开发Windows 10通用应用程序时,通用Windows平台中仍然有哪些功能可用?
Alex Vang 2015年

1
在MSDN上,“版本信息”部分仅包含Microsoft的所有转换器的“ .NET Framework-从3.0开始可用”。好像不支持通用Windows平台@AHelloWorldDev。(例如System.Array在“版本信息”部分中明确说明了UWP支持。)
Palec

28

在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>


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.