2009-02-02 2 views
69

Ok, это был приятный сюрприз (после написания его несколько раз), чтобы найти, что там уже есть BooleanToVisibilityConverter в System.Windows.Controls пространства имен.
Возможно, таких тайных хранителей больше.
У кого-нибудь есть?Встроенного WPF IValueConverters

ответ

22

До 3.5 SP1 для форматирования строк потребовался IValueConverter. Теперь вы можете использовать свойство StringFormat в Binding для этого.

На странице MSDN:

<DataTemplate> 
    <TextBlock> 
    <TextBlock.Text> 
     <MultiBinding StringFormat="{}{0} -- Now only {1:C}!"> 
     <Binding Path="Description"/> 
     <Binding Path="Price"/> 
     </MultiBinding> 
    </TextBlock.Text> 
    </TextBlock> 
</DataTemplate> 
+0

См. Эту строку для получения дополнительных примеров: http://blogs.msdn.com/llobo/archive/2008/05/19/wpf-3-5-sp1-feature-stringformat.aspx –

+0

Также см. Этот https://msdn.microsoft.com/en-us/library/system.componentmodel.typeconverter (v = vs.110) .aspx –

82

Я сделал быстрый трал с помощью Object Browser, и это то, что у меня есть.

Производное от 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. Как и те, у которых есть умные вещи, похожие на debugging converter. Я также использовал the last IValueConverter, и я уверен, что есть еще одна доброта лямбда-функции, которую можно найти тоже.

+2

Надеюсь, вы не возражаете - просто отредактировали это, отсортировав результаты. Приятно видеть, что встроено и что такое Xceed. –

+0

Интересно, какие из них по-прежнему доступны на Универсальной платформе Windows для разработки Windows 10 Universal Apps? – AnAurelian

+0

В MSDN раздел «Информация о версии» содержит только «.NET Framework - Доступно с версии 3.0» для всех конвертеров Microsoft. Похоже, что универсальная платформа Windows не поддерживается, @AHelloWorldDev. (Например, System.Array заявляет, что поддержка UWP явно находится в разделе «Информация о версии»). – Palec

Смежные вопросы