【发布时间】:2018-06-06 10:40:29
【问题描述】:
IValueConverter实例的Converter方法可以获取一些参数:
Convert(object value, Type targetType, object parameter, CultureInfo culture);
如何从 XAML 中传递 targetType 参数?
【问题讨论】:
IValueConverter实例的Converter方法可以获取一些参数:
Convert(object value, Type targetType, object parameter, CultureInfo culture);
如何从 XAML 中传递 targetType 参数?
【问题讨论】:
你不传递 targetType,框架会为你传递,这取决于它需要转换成什么类型。
考虑模板 10 中的 StringFormatConverter:https://github.com/Windows-XAML/Template10/wiki/Converters
<Page.Resources>
<converters:StringFormatConverter x:Key="StrFormatConverter" />
</Page.Resources>
...
<TextBlock Text="{Binding DateTimeValue, Converter={StaticResource StrFormatConverter}, ConverterParameter=\{0:D\}}" />
在这种情况下,系统需要一个String,所以它将'String'作为targetType参数传入。
您应该确认它所期望的类型是您准备转换成的类型。
【讨论】: