【发布时间】:2020-10-11 02:36:02
【问题描述】:
我想在另一个类中使用复选框的状态。 不幸的是,这并不完全奏效。
这是我的代码示例: 请注意:所有绑定、OnPropertyChanged 和具有 Icommand 的 RelayCommand 均已正确实施并且可以正常工作。 但这里没有,为了便于阅读。
主窗口 XAML:
<CheckBox Content="Select or not" IsChecked="{Binding IsSelected}"/>
<Button Content="Test" Command="{Binding ButtonCommand}">
HomeViewModel(数据上下文):
private bool _isSelected;
public bool IsSelected
{
get { return _isSelected; }
set
{
if (_isSelected != value)
{
_isSelected = value;
OnPropertyChanged(nameof(IsSelected));
}
}
}
private void DoJob(object sender)
{
Class1 class1 = new Class1();
class1.Method();
}
第一类:
HomeViewModel viewModel = new HomeViewModel();
public void Method()
{
if (viewModel.IsSelected)
{
}
}
如何在其他类中使用 IsSelected 的状态?
很遗憾,我无法直接访问它(我不知道为什么)。
感谢您的帮助。
【问题讨论】:
-
'IsSelected' 在 MainWindowViewModel 中而不是在 HomeViewModel 中。您可以在 HomeViewModel 类的构造函数中传递 MainWindowViewModel 对象,然后访问它,