0

UserDataユーザーの設定やその他の情報を含むクラスインスタンスがあります。アプリケーションのさまざまな部分の設定があるため、どこからでも簡単にアクセスできる必要があります。このため、これはAppクラスの静的プロパティです。

Booleanいくつかのチェック可能な項目がいくつかの(明らかに)設定に双方向でバインドされているメニューが必要です。これにより、メニュー項目は設定がオン/オフであるかどうかを常に表示し、設定を切り替えるために使用できます。

インスタンスは静的プロパティであるため、UserData双方向バインディングではネイティブに機能しません。

この状況を解決するための最良の方法は何でしょうか?使い捨てオブジェクトをインスタンス化したり、設定ごとに個別に依存関係プロパティを手動で作成したりする必要がない方法はありますか?

4

1 に答える 1

0

静的プロパティ自体に直接バインドすることはできませんが、静的プロパティの値をバインド ソースとして使用し、他のオブジェクト インスタンスと同様にそのプロパティにバインドできます。Binding の外観にはいくつかのバリエーションがありますが、同じオブジェクトで多数のプロパティを実行する場合は、静的オブジェクトを DataContext (一方向) として使用してから、MenuItem で通常のバインディングを使用できます。

<Menu DataContext="{Binding Source={x:Static App.UserData}}">
    <MenuItem Header="1" IsChecked="{Binding SomeUserProperty}"/>
    <MenuItem Header="2" IsChecked="{Binding Property2}"/>
</Menu>
于 2013-02-11T21:59:31.910 に答える