【问题标题】:Set focus in WPF textbox在 WPF 文本框中设置焦点
【发布时间】:2010-10-10 22:47:01
【问题描述】:

我正在 WPF 中编写一个控件,该控件在窗体上绘制一个形状,然后绘制该形状的尺寸。这些尺寸是可编辑的,因此它们显示在文本框中。当用户更改文本框中的尺寸时,形状会更新。

当显示尺寸的文本框失去焦点时,我正在更新形状,即一旦文本框失去焦点,形状和所有尺寸都会重新绘制。文本框以两种方式之一失去焦点 - 当用户按下 Tab 键或当用户单击文本框外的另一个控件时。

我的问题是,当用户按下 Tab 键或单击文本框外的其他位置时,整个控件将被重绘,并且焦点未设置到应位于的下一个控件。这真的很烦人,因为选项卡完全停止工作,并且要使用鼠标设置焦点,用户必须单击两次。有没有办法解决这个问题?

我的控件的图像如下所示

alt text http://img223.imageshack.us/img223/9496/cavity.png

【问题讨论】:

  • 您可以稍微更改功能,例如当用户在任何文本框中输入时,您可以更改维度,即 OnTextChanged 事件,因此用户无需额外单击即可更新维度。您可以使用 Tab 键在文本框之间移动。

标签: wpf vb.net


【解决方案1】:

您似乎想在此窗口中自己管理选项卡顺序并执行此操作,我认为您将订阅这些编辑字段上的 GotKeyboardFocus 和 LostKeyboardFocus 事件,然后将焦点移至适当的位置,如果您对焦点的位置不满意。

【讨论】:

    猜你喜欢
    • 2010-11-23
    • 1970-01-01
    • 2011-02-21
    • 1970-01-01
    • 2013-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多