2016-08-03 5 views
1

を更新していない結合します。ソースクラスのプロパティをターゲットコントロールにバインドしました。しかし、プロパティ値が変更されるたびに、UIコントロールは更新されたデータを反映しません。は、私はWPFに新しいですINotifyPropertyChangedのクラスから

<Label Name="Panel_ch1Mode" Content="{Binding Path=Mode, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" FontFamily="Roboto Regular" FontSize="16" Foreground="#FFFFFF"/> 

私のクラス:

WPFコードを助けてください

public class ClassName: INotifyPropertyChanged 
{ 
//Auto Refresh 
     private string mode; 
     public string Mode 
     { 
      get 
      { 
       return this.mode; 
      } 
      set 
      { 
       this.mode = value; 
       NotifyPropertyChanged("Mode"); 
      } 
     } 

    public event PropertyChangedEventHandler PropertyChanged; 

     public void NotifyPropertyChanged(string propertyName) 
     { 
      if (PropertyChanged != null) 
       PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); 


     } 
} 
+0

はどのようにあなたが正常にバインドされている知っていますか? – Jai

+0

DataContextを設定しましたか? – Mikolaytis

+0

出力ウィンドウをチェックしてエラー40:を探しますが、datacontextが作成されていない可能性がありますか?それとも間違った範囲にありますか? – adminSoftDK

答えて

0

はこれを試してみてください:ちょうどUpdateSourceTrigger =のPropertyChanged、モード=双方向をXAMLから削除します。 )

このINotifyPropertyChangedののリンケの実装を向上:コードで

private void NotifyPropertyChanged([CallerMemberName] string propertyName = null) 
{ 
    var handler = PropertyChanged; 
    if (handler != null) 
     handler(this, new PropertyChangedEventArgs(propertyName)); 
} 
+0

これは( 'UpdateSourceTrigger = PropertyChanged'と'モード= TwoWay'がここに効果を持っていないので)有効で、 'CallerMemberName'は改善とみなすことができるが、その質問に対する回答は得られません。 – Clemens

-1

のViewModelはビューに「有線」である場合の背後に確認してください。

public YourView() 
    { 
      InitializeComponent(); 
      DataContext = new ClassName(); 
    } 

をあなたはその心に留めておく必要がありバインディングは常にDataContextに関連しています。

+0

のDataContextは、すでにクラス –

+0

ニースdownvoteのオブジェクト名を設定している、私は大丈夫...それは他の人のための解決策になるかもしれないので、理由を理解、しかししていません... –

関連する問題