每次点击按钮时,我的WPF组合框都会填充一组不同的字符串。窗口上还有其他控件。组合框是窗口中的“第一个”(顶部),但文本没有突出显示。当用户选中控件时,文本会突出显示,但是当它是窗口中的第一个时,它不会突出显示。
也许我需要在组合框本身内的单个文本框控件上强制突出显示,但我该如何做?我似乎无法在任何地方找到此控件的内部“结构”。有人可以帮忙吗?
杰克
答案 0 :(得分:25)
获取Combobox的TextBox,你可以使用
TextBox TxtBox = (TextBox)myCombo.Template.FindName("PART_EditableTextBox", myCombo);
答案 1 :(得分:1)
我不确定它是最好的解决方案,但您可以使用FrameworkElement.FindName来访问子控件 - 它保证存在于组合框中,因为它是控件的关键组成部分。
那说,尝试在控件上调用.Focus()是不是更好?这可能就是为什么当你选项卡时,会提供突出显示。
另一种选择是从ComboBox派生,并将子文本框作为属性公开,允许您设置它的选择,或直接将方法添加到组合框以为您设置。