当一个列表视图获得焦点时,按下回车键的默认行为是选择列表视图的第一个元素,上下箭头键滚动列表视图。我正在尝试阻止这种默认行为并连接我的自定义逻辑。
我能够使用KeyDown实现列表视图的访问键,如下所示:
代码后台方法:
我能够使用KeyDown实现列表视图的访问键,如下所示:
代码后台方法:
CoreWindow.GetForCurrentThread().KeyDown += KeyDownHandler;
MVVM模式:
<ListView SelectedIndex="{Binding IsSelected, Mode=TwoWay}"/>
触发 Keydown 属性:
<core:EventTriggerBehavior EventName="KeyDown">
<core:InvokeCommandAction Command="{x:Bind VMDataContext.KeyDownCommand}" />
</core:EventTriggerBehavior>
使用行为将列表视图的滚动条滚动到所选索引:
<corebehaviors:ListViewScrollBehaviour SelectedIndex="{x:Bind IsSelected, Mode=OneWay}"/>
当列表视图没有焦点时,上述处理程序将被触发。当列表视图具有焦点时,箭头向上、向下和回车键的默认行为将被触发,而不是我的附加行为。是否有一种方法可以防止默认行为?
e.Handled = true;
而不是return
。 - Justin XL