Silverlight组合框下拉文本/值

时间:2013-10-24 22:43:58

标签: silverlight

无论如何在Silverlight组合框中指定一个值和一个像html下拉列表的文本?我只看到一个内容属性。我读到我可以使用tag属性但是我无法在执行时从后面的代码中检索值...

mycombobox.Tag.toString();

任何人都知道最好的方法吗?

谢谢,

1 个答案:

答案 0 :(得分:0)

拥有一个自定义类,可以容纳2个属性来表示下拉项的值和文本字段。并将该类的列表绑定为组合框的ItemsSource。

你可以尝试

public class CustomComboBoxItem
{
    public int Key { get; set; }
    public string DisplayText { get; set; }
}

    public MainPage()
    {
        InitializeComponent();

        myComboboxSource = new List<CustomComboBoxItem>();
        myComboboxSource.Add(new CustomComboBoxItem { Key = 1, DisplayText = "First Text" });
        myComboboxSource.Add(new CustomComboBoxItem { Key = 2, DisplayText = "Second Text" });
    }

    public List<CustomComboBoxItem> myComboboxSource { get; set; }

在Xaml中,

<ComboBox Name="myCombobox" Height="25" Width="200" ItemsSource="{Binding myComboboxSource, ElementName= mainPage}" SelectedValuePath="Key" DisplayMemberPath="DisplayText"/>        


<Button Click="Button_Click" Height="25" Width="100" Content="Get Selected Value"/>

您可以使用

测试所选值
    private void Button_Click(object sender, RoutedEventArgs e)
    {
        MessageBox.Show(Convert.ToString(myCombobox.SelectedValue));
    }