Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将按钮内容绑定到静态只读字段_C#_Wpf_Xaml_Bind - Fatal编程技术网

C# 如何将按钮内容绑定到静态只读字段

C# 如何将按钮内容绑定到静态只读字段,c#,wpf,xaml,bind,C#,Wpf,Xaml,Bind,我有一个类MainWindow.xaml.cs: namespace HomeSecurity { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window, INotifyPropertyChanged { public static readonly string

我有一个类
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";
     .....
}
如何将该按钮的内容设置为
main window.Start
?当前版本不起作用

编辑: 我已宣布:

  xmlns:local="clr-namespace:HomeSecurity" 
但当我使用:

 <Button x:Name="AcceptCamerasButton"  Content="{x:Static local:MainWindow.START}" Grid.Row="1" Click="AcceptCamerasButton_Click"></Button>

不能绑定到字段。绑定只对属性起作用。因此,您可以将
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..."

如何定义只读静态属性。你能声明并初始化START属性吗?@Yoda当然可以。我刚刚用相关详细信息更新了答案。请看我编辑的原始帖子好吗?另外:错误2修改符“readonly”对此项目无效。已删除readonly。。工作起来很有魅力,但我希望有常数。
private static readonly string startField = "start";

public static string START
{ 
   get { return startField}
}
xmlns:local="clr-namespace:YourProjectAssemblyName..."