gpt4 book ai didi

c# - 单击时 WPF 可编辑 ComboBox SelectAll

转载 作者:太空狗 更新时间:2023-10-29 21:08:28 26 4
gpt4 key购买 nike

我知道如何在单击文本框时选择所有文本;我想对一个可编辑的组合框做同样的事情——找不到任何东西。我的 TextBox 代码是

private void OnPreviewMouseDown(Object sender, MouseButtonEventArgs e)
{
txtBox.SelectAll();
txtBox.Focus();
e.Handled = true;
}

如何对 Editable Combobox 做同样的事情?

更新为我提供所需输出的 ​​Combox 代码:

private void cboMouseDown(object sender, MouseButtonEventArgs e)
{
var textBox = (cbo.Template.FindName("PART_EditableTextBox", cbo) as TextBox);
if (textBox != null)
{
textBox.SelectAll();
cbo.Focus();
e.Handled = true;
}
}

但是现在组合框的下拉菜单不起作用,有什么建议吗?

Update-2:我试过 PreviewMouseUp 而不是 PreviewMouseDown,现在确实出现了下拉菜单;但是当单击该框然后尝试打开下拉菜单时 - 窗口会卡住。但是,我已经解决了我在下面的回答中提出的问题。如果这是我可以接受的正确且安全的解决方案,我将非常感谢您的意见。

最佳答案

使用 GotFocus 事件并像这样选择文本

    var comboTextBoxChild = comboBox.FindChild(typeof(TextBox), "PART_EditableTextBox") as TextBox;

comboTextBoxChild .SelectAll();

这里的 combobox 是你的 Editable Combobox 的名字

关于c# - 单击时 WPF 可编辑 ComboBox SelectAll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30795981/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com