写了几次后,发现在 System.Windows.Controls 命名空间中已经有一个BooleanToVisibilityConverter ,这真是个不错的惊喜。
可能还有更多这样隐藏的时间节省程序。
有人知道其他的吗?
写了几次后,发现在 System.Windows.Controls 命名空间中已经有一个BooleanToVisibilityConverter ,这真是个不错的惊喜。
可能还有更多这样隐藏的时间节省程序。
有人知道其他的吗?
这是一段包含多个转换器名称的文本。
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
:
注意,Xceed的控件(与此无关)可在其DataGrid中免费使用。除此之外,还有一些聪明的东西,比如调试转换器。我也用过最后一个IValueConverter,我相信还可以找到更多的lambda函数好处。
System.Windows.Controls.BorderGapMaskConverter
System.Windows.Navigation.JournalEntryUnifiedViewConverter
System.Windows.Controls.MenuScrollingVisibilityConverter
Microsoft.Windows.Themes.ProgressBarBrushConverter
Microsoft.Windows.Themes.ProgressBarHighlightConverter
在 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>