如何使用MVVM模式在组中选择单选按钮?

时间:2016-01-13 08:30:18

标签: c# wpf xaml mvvm

我有一个窗口,我想从另一个没有RadioButton的部分改变这个窗口的一部分。从这个单选按钮我希望客户选择在窗口的另一部分需要看到哪个部分。与Visual Studio中的“选项”窗口类似。

我在一个组中有几个单选按钮,并且希望视图模型知道当用户选择其中一个单选按钮时选择了哪个单选按钮。

我找到了example how I can bind in XAML但无法理解视图模型如何知道选择了哪个单选按钮。

以下是我的简单观点:

<RadioButton GroupName="Settings" IsChecked="{Binding SelectSettingSection}" Content="Language" />
<RadioButton GroupName="Settings" IsChecked="{Binding SelectSettingSection}" Content="Color" />
<RadioButton GroupName="Settings" IsChecked="{Binding SelectSettingSection}" Content="Description" />
<RadioButton GroupName="Settings" IsChecked="{Binding SelectSettingSection}" Content="Theme" />
<RadioButton GroupName="Settings" IsChecked="{Binding SelectSettingSection}" Content="Database" />

此组单选按钮可能只有一个属性,或者我是否需要为视图模型上的每个单选按钮提供五个属性?

“SelectSectionSetting”是知道选择哪个部分,我知道已经选中但是我确切知道谁

1 个答案:

答案 0 :(得分:0)

让我帮助您了解您发布的codeproject链接,因为Novitchi S说的是能够为您提供正确解决方案的链接。

它的真正功能是转换器,它采用两个值1.所选对象(在单选按钮中有界)2。带有单选按钮的关联对象(作为转换器参数传递)。转换器的作用是检查与单选按钮对象关联的是否与所选对象相同(等于)。然后它将此值转换为true或false并将其传递给单选按钮