10

我正在尝试ComboBox用一对String, Value填充 a 。我在后面的代码中这样做了:

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;

组合框项目:

public class ComboBoxItem
{
    public string Text { get; set; }
    public object Value { get; set; }

    public override string ToString()
    {
        return Text;
    }
}

如您所见,我正在Text使用 my 插入值ResourceDictionary。但是如果我这样做,当我在运行时更改语言时,ComboBox内容不会。

所以我想尝试ComboBox在设计中填补我的空白(在 XAML 中)。

ComboBox所以我的问题是:我怎样才能用上面的一对Text, Value填充我的?

4

1 回答 1

15

您将使用Tag, 而不是Value在 xaml 中。这将是这样的:

<ComboBox>
     <ComboBoxItem Tag="L" IsSelected="True">Low</ComboBoxItem>
     <ComboBoxItem Tag="H">High</ComboBoxItem>
     <ComboBoxItem Tag="M">Medium</ComboBoxItem>
</ComboBox>
于 2013-02-27T18:45:51.217 回答