如何解决当我点击文本框时,如何使文本框不可编辑?
我有一个 TreeView,里面有 TextBox。
它看起来像这样:
我正在努力实现:
- 当我点击另一个复选框时应该失去焦点
- 当我点击已编辑的复选框时,它应该会失去焦点,而不是保持可编辑状态。
我可以通过按 Enter 或 Tab 键(或任何其他键)来实现类似的效果。
private void OnModuleNameEditKeyDownHandler(object sender,KeyEventArgs e)
{
if (e.Key == Key.Return || e.Key == Key.Tab)c
{
ModuleName.Visibility = Visibility.Visible;
ModuleNameEdit.Visibility = Visibility.Collapsed;
}
}
有办法吗? 功能是当我双击 TextBox 时,它变得可编辑,但我想要,当单击超出复选框范围时,在我再次双击它之前不编辑它。
解决方法
创建静态变量来存储工作节点(UIElement/Textbox)。并尝试在键盘焦点丢失时设置此事件。
静态变量:
should
在鼠标双击事件中:
public static TextBox CurrentTextBox = null;
在键盘焦点丢失事件中:
{
CurrentTextBox = sender as TextBox;
CurrentTextBox.IsReadOnly = false;
CurrentTextBox.IsVisible = true;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。