如何将targetType参数传递给XAML中IValueConverter实例的Convert()方法

问题描述 投票:0回答:1

IValueConverter实例的Converter方法可以获取一些参数:

Convert(object value, Type targetType, object parameter, CultureInfo culture);

如何从XAML传递targetType参数?

c# wpf xaml
1个回答
1
投票

您没有传递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参数传递。

您应该确认它所期望的类型是您准备转换为的类型。

© www.soinside.com 2019 - 2024. All rights reserved.