在视图模型中的RadioButton IsChecked绑定

时间:2012-11-02 13:55:52

标签: xaml binding radio-button viewmodel ischecked

我知道这个话题已经讨论了很多次,但我仍然无法让它发挥作用。我有3个RadioButton放在StackPanel中;我试图将他们的IsChecked绑定到View Model中的某个变量。这是我做的:

在视图中的XAML文件中:

  <RadioButton Name="rbExpReview"
                             IsChecked="{Binding Path=rbExpReviewIsChecked, Mode=TwoWay}"
                             Foreground="White">
                    <RadioButton.Content>
                        <Label Content="Experiment Review"
                               HorizontalContentAlignment="Center"
                               VerticalContentAlignment="Center" />
                    </RadioButton.Content>
  </RadioButton>

在View Model中,我声明了一个变量:

_rbExpReviewIsChecked = true;

以及响应RadioButton的IsChecked的属性:

public bool rbExpReviewIsChecked
        {
            get
            {
                return _rbExpReviewIsChecked;
            }
            set
            {

                _rbExpReviewIsChecked = value;
                OnPropertyChanged("rbExpReviewIsChecked");
            }
        }

然而,当我选中并取消选中按钮时,View Model代码中没有响应(没有点击断点。)所以我想知道我的绑定有什么问题?还是其他什么? 我是XAML的新手,所以任何指针都会受到赞赏。 尼克

2 个答案:

答案 0 :(得分:1)

你的Binding View-&gt; ViewModel?

在哪里?

答案 1 :(得分:1)

您的绑定语法是正确的。您的财产似乎正确。这只留下一种可能性:DataContext。

在“输出”窗口中Visual Studio中会发生什么?如果没有正确设置DataContext,它应该给你一个绑定错误。

DataContext可以从Parent继承,也可以设置。你的DataContext是什么?