WPF复选框IsChecked绑定无法正常工作

时间:2013-10-18 21:52:41

标签: c# wpf xaml checkbox binding

我有这个问题,我的复选框IsChecked属性绑定无效。我用谷歌搜索,但是人们说它使用了我正在使用的TwoWay绑定。

这是我的代码:

 <CheckBox Name="ckC" VerticalAlignment="Center"
           IsChecked="{Binding Path=LSMChannelEnable[2],
                               Mode=TwoWay,
                               UpdateSourceTrigger=PropertyChanged}" />

这是它背后的C#代码:

public bool[] LSMChannelEnable
{
    get
    {
        return this._liveImage.LSMChannelEnable;
    }
    set
    {
        this._liveImage.LSMChannelEnable = value;
        OnPropertyChanged("LSMChannelEnable");
        OnPropertyChanged("EnableChannelCount");
        OnPropertyChanged("LSMChannel");
    }
}

任何指针都受到高度赞赏,

2 个答案:

答案 0 :(得分:12)

这是因为您绑定到数组。拉出要绑定到单独属性的属性。

的Xaml:

IsChecked="{Binding Path=ButtonEnabled, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 

代码:

public bool ButtonEnabled
{
    get { return this._liveImage.LSMChannelEnable[2]; }
    set { this._liveImage.LSMChannelEnable[2] = value;
         OnPropertyChanged("ButtonEnabled");
    }
}

答案 1 :(得分:4)

试试这个:

OnPropertyChanged("Item[]"); 

编译器在使用索引器时生成的属性。 请参阅this blog post