如何检索选定的单选按钮的动态生成的单选按钮在WPF Mvvm
本文关键字:单选按钮 动态 Mvvm WPF 何检索 检索 | 更新日期: 2023-09-27 18:06:46
使用WPF和MVVM模式,我得到一个动态填充单选按钮的列表框。
<ListBox ItemsSource="{Binding SupportedNtgs}" VerticalAlignment="Stretch" Background="Transparent">
<ListBox.ItemTemplate>
<DataTemplate>
<RadioButton GroupName="SupportedNtgsRadioButtonList" Content="{Binding Item2}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
在我的ViewModel中我得到了一个属性
public Ntg SelectedNtg
{
get { return VariantInfo.Ntg; }
set
{
if (VariantInfo.Ntg == value) { return; }
VariantInfo.Ntg = value;
RaisePropertyChanged("SelectedNtg");
}
}
ListBox绑定到的SupportedNtgs
是IEnumerable
public IEnumerable<Tuple<Ntg, String>> SupportedNtgs
{
get
{
if (this.supportedNtgs == null) {
this.supportedNtgs = new List<Tuple<Ntg, string>>();
foreach (var item in this.provider.SupportedNtgs) {
this.supportedNtgs.Add(new Tuple<Ntg, string>(item, EnumHelper<Ntg>.Description(item)));
}
}
return this.supportedNtgs;
}
}
谁能告诉我什么是最简单的方法来存储用户选择在我的SelectedNtg属性,而不做任何改变我的Ntg类?谢谢你
谢谢
给你
- 添加了绑定SelectedItem与SelectedNtg
SelectedItem="{Binding SelectedNtg}"
<ListBox ItemsSource="{Binding SupportedNtgs}"
VerticalAlignment="Stretch" Background="Transparent"
SelectedItem="{Binding SelectedNtg}" >
<ListBox.ItemTemplate>
<DataTemplate>
<RadioButton GroupName="SupportedNtgsRadioButtonList"
Content="{Binding Item2}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
这将把选中的项目推到视图模型的属性中,因此你将获得你正在寻找的数据