6

チェックボックスの 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");
    }
}

どんなポインタでも大歓迎です、

4

2 に答える 2

14

これは、配列にバインドしているためです。別のプロパティにバインドするプロパティを引き出します。

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");
    }
}
于 2013-10-18T21:55:53.230 に答える