WPF关联Multibindings和Converter的值[]

时间:2010-07-08 14:08:15

标签: wpf binding converter multibinding

我的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个值,并且很难保持绑定序列和值集合的索引号同步。必须有一种更好的方法来连接这两者。怎么样?

2 个答案:

答案 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