1

如何从用户选择的 ComboBoxItem 中获取 Uid?

我的 XAML 中有以下代码

<ComboBox x:Name="cmbCat" HorizontalAlignment="Left" Margin="210,163,0,0" VerticalAlignment="Top" Width="183" Background="White">
            <ComboBoxItem Content="Computing and IT" Uid="2001"/>
            <ComboBoxItem Content="Electrical" Uid="2002"/>
            <ComboBoxItem Content="Stationery" Uid="2003"/>
            <ComboBoxItem Content="Building" Uid="2004"/>
        </ComboBox>

我想获得特定的 Uid,以用户在 ComboBox 中选择的为准。

4

2 回答 2

0

您可以通过在UID上设置“ SectionChanged”事件ComboBox然后从ComboBox项目中获取值来获取。

xml:

<ComboBox x:Name="cmbCat" HorizontalAlignment="Left" Margin="210,163,0,0" 
          VerticalAlignment="Top" Width="183" Background="White" SelectionChanged="cmbCat_SelectionChanged">
    <ComboBoxItem Content="Computing and IT" Uid="2001"/>
    <ComboBoxItem Content="Electrical" Uid="2002"/>
    <ComboBoxItem Content="Stationery" Uid="2003"/>
    <ComboBoxItem Content="Building" Uid="2004"/>
</ComboBox>

后面的代码:

private void cmbCat_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    var comboBox = sender as ComboBox;
    if (null != comboBox)
    {
        var item = comboBox.SelectedItem as ComboBoxItem;
        if (null != item)
        {
            Console.WriteLine(item.Uid);
        }
    }
}
于 2013-05-08T19:26:46.920 回答
0

没有后面的代码,只需在您的 ComboBox 节点中添加此属性:

SelectedValuePath =“Uid”

因此,您可以使用其他属性将 Uid 值发送到您的 viewModel:

SelectedValue="{绑定路径=MyViewModelProperty}"

于 2015-11-19T09:54:09.727 回答