我有一个Xaml文件,后面没有任何代码。我想让它在同一个项目中引用一个布尔值的另一个类。如何引用其他类对象(请注意这些对象是静态的)。
提前谢谢。
答案 0 :(得分:4)
使用the x:Static
markup extension,例如(取自MSDN):
<object property="{x:Static prefix:typeName.staticMemberName}" .../>
您需要对此进行调整以适合您的示例(或在问题中包含更多信息)。 另请注意来自同一MSDN page的以下警告:
用于WPF编程的默认XAML命名空间不包含许多有用的静态属性,并且大多数有用的静态属性都支持类型转换器,无需{x:Static}即可方便使用。对于静态属性,如果满足以下条件之一,则必须映射XAML命名空间的前缀:
- 您正在引用WPF中存在的类型,但它不是WPF的默认XAML名称空间的一部分。这是使用
x:Static
的相当常见的情况。例如,您可以将x:Static
引用与XAML命名空间映射到System CLR命名空间和mscorlib程序集,以引用Environment
类的静态属性。- 您正在引用自定义程序集中的类型。
- 您正在引用WPF程序集中存在的类型,但该类型位于未映射为WPF默认XAML命名空间的CLR命名空间内。 CLR名称空间到WPF的默认XAML名称空间的映射由各种WPF程序集中的定义执行。如果该CLR命名空间主要由通常不用于XAML的类定义组成,则可以存在非映射的CLR命名空间,例如
System.Windows.Threading
。
因此,您可能需要define a namespace,例如
xmlns:prefix="clr-namespace:YOURNAMESPACE;assembly=YOURLIB"