我尝试使用一对字符串,值填充ComboBox
。我在代码背后做了这样的事情:
listCombos = new List<ComboBoxItem>();
item = new ComboBoxItem { Text = Cultures.Resources.Off, Value = "Off" };
listCombos.Add(item);
item = new ComboBoxItem { Text = Cultures.Resources.Low, Value = "Low" };
listCombos.Add(item);
item = new ComboBoxItem { Text = Cultures.Resources.Medium, Value = "Medium" };
listCombos.Add(item);
item = new ComboBoxItem { Text = Cultures.Resources.High, Value = "High" };
listCombos.Add(item);
combo.ItemsSource = listCombos;
ComboBoxItem:
public class ComboBoxItem
{
public string Text { get; set; }
public object Value { get; set; }
public override string ToString()
{
return Text;
}
}
如您所见,我使用Text
插入ResourceDictionary
值。但是,如果我这样做,当我在运行时更改语言时,ComboBox
内容不会。
所以我想尝试在设计中填写ComboBox
(在XAML)。
所以我的问题是:我如何用{strong>文字,价值如上所述填充我的ComboBox
?
答案 0 :(得分:15)
您将在xaml中使用Tag
,而不是Value
。
这将是这样的:
<ComboBox>
<ComboBoxItem Tag="L" IsSelected="True">Low</ComboBoxItem>
<ComboBoxItem Tag="H">High</ComboBoxItem>
<ComboBoxItem Tag="M">Medium</ComboBoxItem>
</ComboBox>