2012-11-02 119 views
0

我知道这个话题已经讨论过很多次了,但是我仍然无法得到它的工作。我有3个RadioButtons放在StackPanel中;我试图将它们的IsChecked绑定到View Model中的某个变量。下面是我做的:查看模型中的RadioButton IsChecked绑定

在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> 

在视图模型,我已经声明的变量:

_rbExpReviewIsChecked = true; 

和属性,响应单选按钮的器isChecked :

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

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

但是,当我检查并取消选中该按钮时,视图中没有响应模型代码(中断点没有命中。)所以我想知道我的绑定有什么问题?还是其他什么? 我是XAML的新手,所以我很欣赏任何指针。 尼克

回答

1

您的绑定语法是正确的。您的财产显示正确。这只剩下一种可能性:DataContext。

输出窗口中的Visual Studio会发生什么?如果你的DataContext设置不正确,它会给你一个绑定错误。

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

+0

你说得对。 DataContext未正确附加。我解决了这个问题。谢谢。 –

1

而你的绑定视图 - > ViewModel在哪里?

+0

XAML文件在View文件夹下命名为TooBarView.xaml; C#代码在View Model文件夹下被命名为ImageReviewViewModel.cs。模型文件夹中有一个ImageReview.cs。 ImageReviewViewModel.cs中的大部分内容与根文件夹中的MainWindow.xaml相关。 –

+0

所以,你可以告诉我你的代码,你连接ViewModel ViewModel吗?或者,也许你使用某种MVVM框架? – MikroDel