【问题标题】:How can I redirect the focus in WPF?如何在 WPF 中重定向焦点?
【发布时间】:2011-09-21 12:02:27
【问题描述】:

如何将一个元素设置为其他元素的默认焦点?

例如,假设我有以下内容:

<StackPanel><Label/><Button/></StackPanel>

如果 Focusable 为真,点击任何元素都会获得焦点。

但是,我需要说的是“如果用户单击堆栈面板中的任何位置,则该按钮应该获得焦点”。换句话说,点击标签会将焦点放在按钮上。这应该适用于像这个这样的小样本,但也适用于带有控制模板的大样本。

这可能吗?

【问题讨论】:

    标签: wpf keyboard focus


    【解决方案1】:

    类似的东西呢:

    private void StackPanel_GotFocus(object sender, RoutedEventArgs e)
        {
            <elementName>.Focus();
        }
    

    【讨论】:

    • 然后类似:
    【解决方案2】:

    StackPanel 有 GotFocus 事件。在该事件的事件处理程序中,为按钮提供焦点(通过调用button1.Focus())。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-04
      相关资源
      最近更新 更多