【发布时间】:2015-07-17 16:59:38
【问题描述】:
我正在将字典绑定到 ComboBox ItemSource。一切都正确绑定,但是当我运行程序时,单击下拉菜单,然后单击该项目......没有任何反应。
其他有用的信息,当我单击每个项目的文本时,我可以在文本周围看到一个模糊的框/边框。如果我在框内单击,则不会发生任何事情。如果我在框外单击,事情会按预期工作。想法?
我的 xaml 代码:
<ComboBox Name="PayloadDrop">
<ComboBox.ItemTemplate>
<ItemContainerTemplate>
<ComboBoxItem Tag="{Binding Path=Key}"
Content="{Binding Path=Value}" />
</ItemContainerTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
还有我的代码:
Dim PayloadDictionary As New Dictionary(Of Int16, String) From _
{{0, "Some payload text"}, {1, "Path to a payload file"}}
PayloadDrop.ItemsSource = PayloadDictionary
下面是我的组合框的截图...
【问题讨论】:
-
使用 DataTemplate 代替 ItemContainerTemplate。什么都没有发生您的意思是所选项目未显示在 ComboBox 中?
-
“什么都不会发生”我的意思是,从字面上看,什么都不会发生。我的 onclick 事件都不会触发(上面的代码中没有显示),组合框选定的项目不会更改为我单击的项目,下拉框不会再次隐藏。基本上,您在上面看到的屏幕截图会保留在那里......一旦我将代码从“ComboBoxItem”更改为“TextBlock”并将“Content”属性更改为“Text”,一切都开始完美运行。