にグローバル変数の変化に耳を傾け、私は私のアプリは、読み取り専用モード今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を再コンパイルして再起動しようとしました。
これは既に開いて初期化したGUI。彼らは不動産をリロードするようではありません。 –
StaticPropertyChangedアプローチでは正確には動作しません。 4.5より前のWPFバージョンを使用していますか?あなたのコードを共有してください。 – Clemens
'Global'は実際には' MyApp.Models'名前空間のメンバーですか? – Clemens