无法设置multibinding因为多值转换器必须WPF
问题描述:
好指定,我有以下关于这些问题2个员额[Post 1
,Post 2
]后都进入下面的方法。但是,在遵循正确的实施方式之后,这个问题正在让我大失所望。无法设置multibinding因为多值转换器必须WPF
因此,这里是我的转换器,它在ViewModels
目录项目的补充道:
public class ChangePasswordConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
return ....
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
现在,下面是我的HomeWindow.xaml
<Controls:MetroWindow x:Class="KEOffice.Views.HomeWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
xmlns:v="clr-namespace:KEOffice.Views"
xmlns:vm="clr-namespace:KEOffice.ViewModels"
xmlns:prism="http://prismlibrary.com/"
prism:ViewModelLocator.AutoWireViewModel="True">
<Window.Resources>
<vm:ChangePasswordConverter x:Key="ChangePasswordConverter" />
</Window.Resources>
<!--But when I try to do this-->
<Button Command="{Binding ChangePassword.UpdatePassword}">
<Button.CommandParameter>
<MultiBinding ConverterParameter="{StaticResource ChangePasswordConverter}">
<Binding Path="OldPass" ElementName="OldPass"/>
<Binding Path="NewPass" ElementName="NewPass"/>
<Binding Path="ConfirmPass" ElementName="ConfirmPass"/>
</MultiBinding>
</Button.CommandParameter>
</Button>
</Controls:MetroWindow>
即使我已经给适当的参考viewmodels
,其中转换器存在并指定有效StaticResource
则抛出Cannot set multibinding because multivalue converter must be specified
。我也做过重建,清理重建等,但仍然是同样的问题。还有什么我需要注意使其正常工作?
答
您不使用ConverterParameter指定转换器,您使用Converter。
屎人..那一个属性.. :(感谢您的快速回答... :) –