希望有人可以提供帮助,因为我无法解决这个问题。这是弹出/组合框的我的xaml代码,请不要在其他布局之前和之后有其他代码。
<Popup x:Name="popupMethods" Height="400" Width="150"
StaysOpen="False" Placement="Bottom" IsOpen="false"
HorizontalAlignment="Left">
<ComboBox x:Name="combo" MouseLeftButtonDown="combo_MouseDown">
<TextBlock>Hello</TextBlock>
<TextBlock>World</TextBlock>
<TextBlock>This</TextBlock>
<TextBlock>is</TextBlock>
<TextBlock>Autocomplete</TextBlock>
<TextBlock>Textbox</TextBlock>
</ComboBox>
</Popup>
当用户开始输入时,将其设置为在屏幕上弹出,这有效。问题是我希望用户能够单击组合框中的一个单词并将其插入到文本框中。这部分不能用作MouseLeftButtonDown的部分永远不会被触发。我尝试了几种不同的方法,包括本网站的方法 http://www.designerwpf.com/2008/12/03/getting-a-mouseleftbuttondown-or-mouseleftbuttonup- 事件从-您-文本/
以及我在其他地方看到的combo.MouseLeftButtonDown + = delegate {};
感谢您的帮助。
答案 0 :(得分:2)
使用MouseLeftButtonDown
代替PreviewMouseLeftButtonDown
事件处理程序,您可以实现相同的目标。
答案 1 :(得分:0)
您可能想查看SelectionChanged
事件。只要选中ComboBox下拉列表中的项目,它就会触发。
我认为ComboBox内部处理MouseLeftButtonDown
事件,这导致它不会传递给您的代码。