我有一个班级MainWindow.xaml.cs
:
namespace HomeSecurity {
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window, INotifyPropertyChanged {
public static readonly string START = "start", RESET = "RESET";
.....
}
MainWindow.xaml
中有一个按钮:
<Button x:Name="AcceptCamerasButton" Content="{x:Static local:MainWindow.START}" Grid.Row="1" Click="AcceptCamerasButton_Click"></Button>
如何将该按钮的内容设置为MainWindow.Start
?当前版本不起作用。
修改 我已宣布:
xmlns:local="clr-namespace:HomeSecurity"
但我仍然使用:
<Button x:Name="AcceptCamerasButton" Content="{x:Static local:MainWindow.START}" Grid.Row="1" Click="AcceptCamerasButton_Click"></Button>
我明白了:
Error 1 The member "START" is not recognized or is not accessible.
答案 0 :(得分:1)
您无法绑定到字段。绑定仅适用于属性。因此,您可以将START
的定义更改为属性,也可以创建一个返回START
值的属性包装器并将其绑定到该属性。
public static string START
{
get { return "start"}
}
public static string RESET
{
get { return "RESET"; }
}
或者,如果您希望保留只读后备字段:
private static readonly string startField = "start";
public static string START
{
get { return startField}
}
另外,我假设您已经完成了此操作,但无论如何我都包括此内容,请确保在XAML文件中包含命名空间声明,以便local
命名空间指向本地程序集和适当的命名空间。
xmlns:local="clr-namespace:YourProjectAssemblyName..."