Fel*_*ano 77
您可以将其定义为应用程序资源:
<Application x:Class="xxxxxx"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:clr="clr-namespace:System;assembly=mscorlib"
StartupUri="MainWindow.xaml">
<Application.Resources>
<clr:String x:Key="MyConstString">My string</clr:String>
</Application.Resources>
</Application>
Run Code Online (Sandbox Code Playgroud)
上面的@FelicePollano对答案的补充 - 为了工作的代码缩进我把它作为一个单独的'答案'.
如果您碰巧在.cs文件中定义了原始常量,则可以避免重复其值<Application.Resources>:
<x:Static x:Key="MyConstString" Member=local:Constants.MyString />
Run Code Online (Sandbox Code Playgroud)
要使上面的"本地"参考起作用,您需要xmlns:local=”clr-namespace:Utils”在标记中包含命名空间 <Application>.
然后cs-class看起来像这样:
namespace Utils
{
public class Constants
{
public const string MyString = “My string”;
}
}
Run Code Online (Sandbox Code Playgroud)
然后,在xaml代码中使用的示例可以是:
<TextBlock Text=”{StaticResource MyConstString}” />
Run Code Online (Sandbox Code Playgroud)
只需添加一个资源字典XAML文件,假设它已命名Dictionary.xaml(Visual Studio可以自动创建一个)
然后,在此字典中添加静态资源.
要完成,请在所有XAML控件中引用字典:
<UserControl.Resources>
<ResourceDictionary Source="Dictionary.xaml"/>
</UserControl.Resources>
Run Code Online (Sandbox Code Playgroud)
你可以这样使用:
首先,样本常量变量:
namespace Constants
{
public class ControlNames
{
public const string WrapperGridName = "WrapperGrid";
}
}
Run Code Online (Sandbox Code Playgroud)
第二个 XAML 使用:
<TextBlock Text="{x:Static Member=Constants:ControlNames.WrapperGridName}"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45583 次 |
| 最近记录: |