3

我有一个没有任何代码的 Xaml 文件。我想让它在同一个项目中引用另一个类作为布尔值。如何引用另一个类对象(注意这些对象是静态的)。

先感谢您。

4

1 回答 1

4

使用标记扩展x:Static例如(取自 MSDN):

<object property="{x:Static prefix:typeName.staticMemberName}" .../>

您需要对此进行调整以适合您的示例(或在问题中包含更多信息)。另请注意来自同一MSDN 页面的以下警告:

您用于 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 的类定义(例如System.Windows.Threading.

因此,您可能需要定义一个命名空间,例如

xmlns:prefix="clr-namespace:YOURNAMESPACE;assembly=YOURLIB"
于 2012-07-05T11:57:27.923 回答