我有一个定义为:
的类class Constants
{
public static string settingsToolTip = "Settings";
}
我想将此字符串设置为按钮的工具提示,如:
<Button Name= "ButtonSettingsWindow" ToolTip="Settings" ToolTipService.ShowDuration="2000"/>
我希望它使用来自Constants类的字符串,而不是在XAML中对字符串“Settings”进行硬编码。我怎么能在WPF XAML中做到这一点?
答案 0 :(得分:5)
您可以在XAML中使用 x:Static markup extension 访问类的静态成员。
<Button ToolTip="{x:Static local:Constants.settingsToolTip}"/>
确保在声明了Constant类的XAML文件( local )中添加了命名空间:
xmlns:local="clr-namespace:ActualNameSpace"
答案 1 :(得分:0)
您正在寻找的答案具有约束力。
示例:
代码背后:
class Test
{
public string test { get { return "Settings"; } }
}
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
XAML:
<Window x:Class="WpfApplication2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:y="clr-namespace:WpfApplication2"
Title="MainWindow" Height="350" Width="525">
<Window.DataContext>
<y:Test></y:Test>
</Window.DataContext>
<Grid>
<Button Content="{Binding test}"></Button>
</Grid>
结果是一个显示“设置”的按钮:)