我有一组在 XAML 中创建的 RadioButtons,它们是通过绑定到代码隐藏中的对象集合而生成的。
我正在寻找一种在已选择的 RadioButton 与其相关的对象(在本例中为 PaletteSwatch 对象)之间进行映射的干净方式。
PaletteSwatch.color 字段用于单独的 RadioButton 样式定义(此处未列出)。
任何帮助将不胜感激。
CS模型类
public class PaletteSwatch
{
private string colorField;
public string color
{
return colorField;
}
...
}
CS 窗口类
...
private ObservableCollection<PaletteSwatch> mDefaultPalette = new ObservableCollection<PaletteSwatch>();
public ObservableCollection<PaletteSwatch> PaletteDefault
{
get
{
return mDefaultPalette;
}
}
XAML
<ItemsControl ItemsSource="{Binding ElementName=mainWindow, Path=PaletteDefault}" ItemTemplate="{StaticResource swatchTemplate}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate >
<UniformGrid Columns="7"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
...
<DataTemplate x:Key="swatchTemplate">
<RadioButton GroupName="filterColorThemes" Click="RadioButton_Click"/>
</DataTemplate>