0

我有 WPF 应用程序,其中屏幕层上有一些控件。使用 TAB(键盘)在控件之间导航可以正常工作,我可以看到图像使用 SNOOP 获得焦点。但是 - 单击图像不会将焦点设置在它上面。

如果这很重要 - 我通过(单击和输入)事件处理程序输入了我需要的功能......只是在单击情况下没有收到焦点,这是我无法理解的混乱。

4

2 回答 2

1

您是否考虑过使用模板按钮来显示您的图像?您将获得单击时的焦点行为,但显示图像:

<Button>
    <Button.Template>
        <ControlTemplate TargetType="Button">
            <Image Source="http://placehold.it/300x500" Stretch="Fill" />
        </ControlTemplate>
    </Button.Template>
</Button>
于 2017-11-01T17:19:41.743 回答
0

默认情况下,当您单击某个Image元素时,它不会获得焦点。您可以编写一些代码来关注它。只需处理MouseLeftButtonDown事件:

private void img_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
    Image img = sender as Image;
    img.Focusable = true;
    img.Focus();
}

<Image Source="pic.png" MouseLeftButtonDown="img_MouseLeftButtonDown" />
于 2017-11-01T15:47:55.990 回答