6

TextBlock バインディングが機能せず、その理由がわかりません...

(このコードは機能しますが、TextBlock は更新されません)

XAML

<TextBlock x:Name="filterAllText"
 Text="{Binding UpdateSourceTrigger=PropertyChanged}" />

コードビハインド

filterAllText.DataContext = LogSession.test.MyCoynt;

C#

public class Test : INotifyPropertyChanged {
 public int myCoynt;

     public int MyCoynt {
        get { return myCoynt; }
        set {
            myCoynt = value;
            NotifyPropertyChanged();
        }
    }

     public event PropertyChangedEventHandler PropertyChanged;

     protected virtual void NotifyPropertyChanged(
        [CallerMemberName] String propertyName = "") {
        PropertyChangedEventHandler handler = PropertyChanged;
        if (handler != null) {
            handler(this, new PropertyChangedEventArgs(propertyName));
        }
}
4

2 に答える 2

10

これを試して:

<TextBlock x:Name="filterAllText" 
    Text="{Binding UpdateSourceTrigger=PropertyChanged, Path=MyCoynt}" />

そしてあなたのDataContextように設定します:

filterAllText.DataContext = LogSession.test;
于 2013-01-31T11:20:28.220 に答える
0
<TextBlock x:Name="filterAllText" Text="{Binding Path=., UpdateSourceTrigger=PropertyChanged}" />

これは機能するはずですが、通常の方法ではありません

編集:より良い方法はGoanneからの回答です

于 2013-01-31T11:20:51.157 に答える