MVVMパターンとWPFバインディングを使用したコーディングの例では、単一値の場合はINotifyPropertyChanged
、値の場合はObservableCollection
を使用します。INotifyPropertyChangedと単一の値のObservableCollection
また、INotifyPropertyChanged
で静的変数を使用することはできませんが、ObservableCollection
で行うことができます。私は静的変数にバインドしたいと思います。
最も簡単な解決策は、ObservableCollection
を使用し、常にインデックス0を使用してバインドすることです。これは適切ですか? ObservableCollection
の代わりにINotifyPropertyChanged
を使用すると便利ですか?例えば
:
private static int _myValue;
public static int MyValue //does not work
{
get { return _myValue; }
set { _myValue = value; OnPropertyChange(); }
}
<TextBox Text="{Binding MyValue, UpdateSourceTrigger=PropertyChanged}">
"これは適切ですか?"それが動作すれば、それは動作します。あなたがパフォーマンスの問題に遭遇していない限り、私はそれが問題ないと思います。あなたが言ったように、INotifyPropertyChangedで静的プロパティを使用することはできません。 ObservableCollection上でINPCを使用する利点についてはわかりませんが、これは通常、さまざまな方法で使用されるためですが、この場合は静的プロパティでINPCを使用できません。 – Zack
また、この質問の受け入れられた答えに興味がある可能性がありますhttp://stackoverflow.com/questions/14614190/inotifypropertychanged-and-static-properties – Zack
静的なプロパティ( 'public static event EventHandler StaticPropertyChanged'、blah blah)しかし、私はそれを試しました、それは動作しませんでした、あなたのハックは多くの問題が少ないように見え、実際に動作します。ありがとう! –