0

XAML で次のように ToggleButton を定義しました。

<ToggleButton IsChecked="{Binding DateFilter, ElementName=myUserControl, Mode=TwoWay}"/>

および「DateFilter」は次のように定義されています。

public Boolean DateFilter { get; set; }

トグル ボタンをクリックすると、それに応じて「DateFilter」が更新されます。しかし、コードで「DateFilter」を変更すると、ToggleButton が更新されません!
どうやってやるの?

4

2 に答える 2

0

myUserControl の INotifyPropertyChanged からの継承を追加し、「DateFilter」プロパティ名で DateFilter セッター イベント PropertyChanged を送信する必要があります。

于 2010-09-21T11:55:38.323 に答える
0
public MyClass : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged = delegate {};

    private Boolean _dateFilter;

    public Boolean DateFilter
    {
        get { return _dateFilter; }
        set
        {
            _dateFilter = value;
            PropertyChanged(this, new PropertyChangedEventArgs("DateFilter");
        }
    }
}

基本的にPropertyChanged、_dateFilter を変更するたびにその呼び出しを行うか、単にセッターを使用すると、並べ替えられます。イベント ハンドラーを空のデリゲートに設定すると、null チェックを回避できます。

于 2010-09-21T11:58:09.867 に答える