我有一个全局变量,指示是否我的应用程序在只读模式听全局变量变化XAML
public static class Global
{
public static event PropertyChangedEventHandler StaticPropertyChanged;
private static void OnStaticPropertyChanged(string propertyName)
{
StaticPropertyChanged?.Invoke(null, new PropertyChangedEventArgs(propertyName));
}
private static bool _isReadOnly = false;
public static bool IsReadOnly
{
get { return _isReadOnly; }
set
{
_isReadOnly = value;
OnStaticPropertyChanged("IsReadOnly");
}
}
}
现在我想听听,在我所有的GUI关闭编辑。例如我有一个DataGrid
<UserControl xmlns:models="clr-namespace:MyApp.Models" >
<DataGrid IsReadOnly="{Binding Path=(models:Global.IsReadOnly)}" />
</UserControl>
我怎么可以听我的ViewModel中的全局变量而不是本地的?目前,我收到错误消息
名称Global不存在于名称空间模型中。
但它呢!我已经尝试重新编译并重新启动VS.
这对我已经打开并初始化不起作用图形用户界面。他们似乎没有重新加载该财产。 –
什么不能用于StaticPropertyChanged方法?您是否使用4.5之前的WPF版本?请分享您的代码。 – Clemens
你确定'Global'实际上是'MyApp.Models'命名空间的成员吗? – Clemens