在 xaml 中为组合框设置选定值时出现问题
这是我的 xaml 的片段:
<ComboBox x:Name="cbo1" Width="100" SelectedValue="200">
<ComboBoxItem Name="n1">100</ComboBoxItem>
<ComboBoxItem Name="n2">200</ComboBoxItem>
</ComboBox>
为什么这不起作用?当我运行它时,未选择“200”。 理想情况下,我正在尝试执行 SelectedValue="{Binding MyValue}"。
Here is a snippet of my xaml:
<ComboBox x:Name="cbo1" Width="100" SelectedValue="200">
<ComboBoxItem Name="n1">100</ComboBoxItem>
<ComboBoxItem Name="n2">200</ComboBoxItem>
</ComboBox>
Why doesn't this work ? The '200' is not selected when I run it.
Ideally, I am trying to do SelectedValue="{Binding MyValue}".
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在本例中,所选值来自 ComboBoxItem 类型,而不是您希望的整数或字符串。
那么你能做什么呢?组合框存在一个属性,它定义了所选对象的哪个属性应用作值,以及哪个属性用作 DisplayMember (可视化),
在您的情况下,您必须将 SelectedValuePath 设置为“Content”。 (在您的情况下,200 是 ComboBoxItem 的内容)
示例:
The selected value in this case is from type ComboBoxItem and not integer or string as you wished.
so what can you do against that? there exists a property for the combobox which defines which property of the selected object should be used as value and which as DisplayMember (the visualization)
in your case you have to set the SelectedValuePath to "Content". (The 200 are in your case the content of the ComboBoxItem)
example: