我正在尝试实现一个切换按钮,允许用户在线性轴或对数轴之间进行选择。
为此我在我的View中看到了这个ToggleButton:
<ToggleButton Width="40" Height="20" Margin="2" Grid.Row="1" Content="LogX" VerticalAlignment="Center" IsChecked="{Binding LogXChecked, Mode=TwoWay}"/>
在我的ViewModel中:
private bool _isLogXChecked;
public bool IsLogXChecked
{
get
{
return _isLogXChecked;
}
set
{
_isLogXChecked = value;
RaisePropertyChanged("IsLogXChecked");
LogX();
}
}
但是使用这个实现我无法使它工作,当用户按下ToggleButton时,IsLogXChecked属性不会更新,并且我的方法LogX()不会触发。
哪里可能是问题?或者我应该如何将ToggleButton绑定到bool?谢谢。
答案 0 :(得分:8)
您的XAML绑定到LogXChecked
,但您的ViewModel将其定义为IsLogXChecked
。现在,绑定被破坏,因为属性名称与绑定规范不匹配。
您可以在任何一方修复此问题 - 例如,通过以下方式在Xaml中修复此问题:
<ToggleButton Width="40" Height="20" Margin="2"
Grid.Row="1" Content="LogX" VerticalAlignment="Center"
IsChecked="{Binding IsLogXChecked, Mode=TwoWay}" />