2012-11-02 99 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