我的XAML如下
<Button.IsEnabled >
<MultiBinding Converter="{StaticResource IsEnabledConverter}" >
<Binding Path="aaa"/>
<Binding Path="bbb"/>
<Binding Path="ccc"/>
<Binding Path="ddd"/>
<Binding Path="eee"/>
<Binding Path="fff"/>
<Binding Path="ggg"/>
<Binding Path="hhh"/>
<Binding Path="iii"/>
<Binding Path="jjj"/>
</MultiBinding>
</Button.IsEnabled>
现在在我的转换函数中,我得到10个值,并且很难保持绑定序列和值集合的索引号同步。必须有一种更好的方法来连接这两者。怎么样?
答案 0 :(得分:2)
根本不使用转换器,而是将其绑定到viewmodel中执行转换的属性
public bool IsEnabled
{
get
{
return (aaa || bbb || ccc || ddd || eee)
&& fff && ggg && hhh && iii && jjj;
}
}
<Button IsEnabled="{Binding Path=IsEnabled}" />
答案 1 :(得分:0)
虽然拥有View-Model会更好,但对于那些不使用视图模型或无法修改现有视图模型的人来说,请查看我的帖子:http://technologyandme.blogspot.com/2010/07/wpf-converter-values.html