コードビハインドのない Xaml ファイルがあります。ブール値の同じプロジェクト内の別のクラスを参照したいと思います。別のクラス オブジェクトを参照するにはどうすればよいですか (これらのオブジェクトは静的であることに注意してください)。
前もって感謝します。
たとえば、x:Static
マークアップ拡張機能を使用します (MSDN から取得):
<object property="{x:Static prefix:typeName.staticMemberName}" .../>
例に合わせてこれを調整する必要があります(または質問に詳細を含める)。同じMSDN ページからの次の警告にも注意してください。
WPF プログラミングに使用する既定の XAML 名前空間には、多くの有用な静的プロパティが含まれていません。有用な静的プロパティのほとんどには、 {x:Static} を必要とせずに使用を容易にする型コンバーターなどのサポートがあります。静的プロパティの場合、次のいずれかに該当する場合は、XAML 名前空間のプレフィックスをマップする必要があります。
- WPF に存在するが、WPF の既定の XAML 名前空間の一部ではない型を参照しています。これは、 を使用するためのかなり一般的なシナリオです
x:Static
。たとえば、クラスx:Static
の静的プロパティを参照するために、System CLR 名前空間と mscorlib アセンブリへの XAML 名前空間マッピングを使用した参照を使用できます。Environment
- カスタム アセンブリから型を参照しています。
- WPF アセンブリに存在する型を参照していますが、その型は、WPF の既定の XAML 名前空間の一部としてマップされていない CLR 名前空間内にあります。WPF の既定の XAML 名前空間への CLR 名前空間のマッピングは、さまざまな WPF アセンブリの定義によって実行されます。マップされていない CLR 名前空間が存在する可能性があるのは、その CLR 名前空間がほとんどの場合、通常は XAML 用ではないクラス定義 (
System.Windows.Threading
.
したがって、次のような名前空間を定義する必要がある場合があります。
xmlns:prefix="clr-namespace:YOURNAMESPACE;assembly=YOURLIB"