作为学习WPF的一部分,我刚刚完成了一个名为“在WPF中使用数据绑定”的微软实验室练习(http://windowsclient.net/downloads/folders/hands-on-labs/entry3729.aspx)。
为了说明如何使用IMultiValueConverter,有一个预编码的实现,其中布尔结果用于确定当前用户是否相关联。这是转换操作的代码:
代码运行良好,但是XAML设计师无法加载,显示“指定的转换无效”错误。我尝试了几种不使用转换的方法,其中一种在上面的代码中未被注释。有趣的是,微软提供的一个完成的实验练习也出现了这个错误。
有人知道如何修复它以使设计师满意吗?
祝好, Berryl
为了说明如何使用IMultiValueConverter,有一个预编码的实现,其中布尔结果用于确定当前用户是否相关联。这是转换操作的代码:
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) {
// var rating = int.Parse(values[0].ToString());
var rating = (int)(values[0]);
var date = (DateTime)(values[1]);
// if the user has a good rating (10+) and has been a member for more than a year, special features are available
return _hasGoodRating(rating) && _isLongTimeMember(date);
}
这是在XAML中使用它的布线:
<ComboBox.IsEnabled>
<MultiBinding Converter="{StaticResource specialFeaturesConverter}">
<Binding Path="CurrentUser.Rating" Source="{x:Static Application.Current}"/>
<Binding Path="CurrentUser.MemberSince" Source="{x:Static Application.Current}"/>
</MultiBinding>
</ComboBox.IsEnabled>
代码运行良好,但是XAML设计师无法加载,显示“指定的转换无效”错误。我尝试了几种不使用转换的方法,其中一种在上面的代码中未被注释。有趣的是,微软提供的一个完成的实验练习也出现了这个错误。
有人知道如何修复它以使设计师满意吗?
祝好, Berryl