如何在WPF中重定向焦点



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

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

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

如果Focusable为true,则单击任何元素都会使其聚焦。

然而,我需要说的是"如果用户点击stackpanel中的任何位置,按钮应该会得到焦点"。换言之,点击标签会将焦点转移到按钮上。这应该适用于像这样的小样本,但也适用于具有控制模板的大得多的样本。

这可能吗?

之类的东西怎么样

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

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

最新更新