【发布时间】:2020-06-18 23:38:01
【问题描述】:
我有以下代码:
视图模型:
DownloadDeviceViewModel : ViewModelBase
{
private bool _isSelected;
public bool isSelected
{
get
{
return _isSelected;
}
set
{
if (_isSelected != value)
{
_isSelected = value;
OnPropertyChanged();
}
}
}
public void Method()
{
if(isSelected)
{
}
}
}
XAML:
<CheckBox Content="Checkbox" IsChecked="{Binding isSelected, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
onPropertyChanged 方法在 ViewModelBase 中。我没有插入它以使其更易于阅读。
每次我在方法中调用“isSelected”的值时,IsSelected 都会返回错误。 即使我选择了复选框并且 isSelected 的值设置为 true。
但在该方法中,该值变回 false。
我错误地实现了值总是更改为 false 的原因是什么?
谢谢大家
【问题讨论】:
-
确保将 xaml 的
DataContext设置为您正在使用的DownloadDeviceViewModel实例。 -
是的,我已经设置了我的 DataContext。
-
PropertyChanged 是否正确实施?
-
试试
OnPropertyChanged(nameof(isSelected))