xaml中的常量

Fla*_*ack 14 wpf xaml

假设我有一个类定义如下的类:

namespace MyProject.MyConstants
{
    public class Constants
    {
        public class Group1Constants
        {
            public const string DoIt= "DoIt";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图在我的xaml中使用这个const,来自一个单独的项目.我包含了命名空间:

xmlns:constants="clr-namespace:MyProject.MyConstants;assembly=MyProject.MyConstants"
Run Code Online (Sandbox Code Playgroud)

并尝试使用常量如下:

<MenuItem Header="{x:Static controls:Constants.Group1Constants.DoIt}">
Run Code Online (Sandbox Code Playgroud)

以上不会编译,说

Cannot find the type 'Constants.Group1Constants'. Note that type names are case sensitive.
Run Code Online (Sandbox Code Playgroud)

我一定很遗憾.我想要做的就是在我的xaml中使用不同项目中的类的一些常量.

有什么建议?

ASa*_*nch 35

试试这个:

<MenuItem Header="{x:Static constants:Constants+Group1Constants.DoIt}">
Run Code Online (Sandbox Code Playgroud)

我用"+"而不是"." 引用嵌套类.不确定你是否会遇到这样的问题.

  • wtf是"+"语法? (23认同)
  • 太棒了,修好了!我之前从未见过"+"语法. (2认同)