0

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

mycombobox.Tag.toString();

有人知道最好的方法吗?

谢谢,

4

1 回答 1

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));
    }
于 2013-10-29T15:13:44.747 回答