作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的目标是拥有一个 ComboBox
,其中每个下拉项目都有一个特定的文本和一个与之关联的特定项目,例如,如果有人点击“blah” - 所选项目将是 3.
据我所知 - 只有一个“内容”同时代表文本和值。那么我如何分别获得两者呢? (在 XAML 或代码中,但没有绑定(bind)。)
最佳答案
强烈建议使用与 XAML 控件的绑定(bind),但是,您可以通过 Items 属性在 XAML 中定义 ComboBox 项目:
<ComboBox x:Name="comboBox1"
SelectionChanged="ComboBox_SelectionChanged"
SelectedValuePath="Tag">
<ComboBox.Items>
<ComboBoxItem Tag="1">Item 1</ComboBoxItem>
<ComboBoxItem Tag="2">Item 2</ComboBoxItem>
<ComboBoxItem Tag="3">Item 3</ComboBoxItem>
</ComboBox.Items>
</ComboBox>
并在代码中获取选定的项目:
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) {
Debug.WriteLine(comboBox1.SelectedValue);
}
由于ComboBox item类没有Value属性,可以使用tag属性来保存对应的值。设置 SelectedValuePath 属性告诉 ComboBox 将哪个属性用作值。
关于c# - 具有值和文本的 ComboBoxItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33132756/
我是一名优秀的程序员,十分优秀!