【发布时间】:2019-11-20 23:40:20
【问题描述】:
为什么当子控件具有输入焦点时,ScrollViewer 的键盘输入不起作用?
这就是场景。将打开一个 WPF 窗口。它将焦点设置到嵌入在 ScrollViewer 中的控件。
我按上下左右键。 ScrollViewer 似乎没有处理关键事件,有人知道为什么吗?
这是最简单的例子:
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300"
FocusManager.FocusedElement="{Binding ElementName=control}"
>
<Grid>
<ScrollViewer
HorizontalScrollBarVisibility="Auto"
>
<ItemsControl
x:Name="control"
Width="1000"
Height="1000"
/>
</ScrollViewer>
</Grid>
</Window>
当您启动包含此窗口的应用程序时,“控制”似乎具有我想要的焦点。按下该键似乎会导致键事件冒泡到达ScrollViewer(我使用 WPF Snoop 进行了检查)。我不知道为什么它不响应输入。
【问题讨论】: