将单选按钮绑定到字典



目前我有一个绑定到泛型类型的RadioButton...TestObject<T>

在这个对象中,我有一个名为 Value 的属性,它可以是 1 或 0。我有一个名为MyList的属性,它是一个包含以下值的Dictionary<T,String>

INT          String
0            "This is the first option"
1            "This is the second option"

我在将RadioButton绑定到MyList时遇到麻烦。目前我已经将 IsCheck ed 绑定到值(使用转换器返回真/假)。我最大的问题是字典以及如何将其绑定到RadioButton控件,以便我可以在屏幕上看到 2 个RadioButton选项。

有什么想法吗?

为什么不使用 KeyValuePair 或 Tuples 列表而不是字典?

然后,您可以使用 ItemsControl,将单选按钮放入 DataTemplate 中,并将 ItemsSource 绑定到键值对列表。

尝试在运行时填充单选按钮。

下面是使用 WPF 的示例:

private RadioButton CreateRadioButton(RadioButton rb1, string content, Thickness margin, string name)
{
//private RadioButton CreateRadioButton(RadioButton rb1, string content, Thickness margin, string name)
// We create the objects and then get their properties. We can easily fill a list.
//MessageBox.Show(rb1.ToString());
Type type1 = rb1.GetType();
RadioButton instance = (RadioButton)Activator.CreateInstance(type1);
//MessageBox.Show(instance.ToString()); // Should be the radiobutton type.
PropertyInfo Content = instance.GetType().GetProperty("Content", BindingFlags.Public | BindingFlags.Instance);
PropertyInfo Margin = instance.GetType().GetProperty("Margin", BindingFlags.Public | BindingFlags.Instance);
PropertyInfo Name = instance.GetType().GetProperty("Name", BindingFlags.Public | BindingFlags.Instance);
// This is how we set properties in WPF via late-binding.
this.SetProperty<RadioButton, String>(Content, instance, content);
this.SetProperty<RadioButton, Thickness>(Margin, instance, margin);
this.SetProperty<RadioButton, String>(Name, instance, name);
return instance;
//PropertyInfo prop = type.GetProperties(rb1);
}
// Note: You are going to want to create a List<RadioButton>

相关内容

  • 没有找到相关文章

最新更新