目前我正在使用此代码从子视图更新MainViewModel属性。
在MainViewWindowViewModel上:
public static MainViewModel Instance { get; } = new MainViewModel();
private bool toggleEventDataParsingButton;
public bool ToggleEventDataParsingButton
{
get => toggleEventDataParsingButton;
set
{
toggleEventDataParsingButton = value;
OnPropertyChanged();
}
}
在子视图上,只需设置属性即可:
MainViewModel.Instance.ToggleEventDataParsingButton = true;
但是很奇怪的是在MainWindow.xaml上,有一个按钮:
<Button Margin="0 0 0 5" Height="35" Content="3. Event Data Parsing" Command="{Binding SetDataParsingViewModel}" IsEnabled="{Binding Path=(local:MainViewModel.Instance).ToggleEventDataParsingButton}" />
它将bin变为man变更的窗口属性,因此如果子视图上发生了某些事情,则此属性会更改并启用按钮。
它是编译和工作,但在设计师我得到
键入'MainViewModel'初始化失败,类型初始值设定项引发异常。
可能是什么问题?
答案 0 :(得分:1)
尝试这种方式:
IsEnabled="{Binding ToggleEventDataParsingButton, Source={x:Static local:MainViewModel.Instance}}"