我在MVF中使用MVVM。我实现了WPF扩展工具包,并且我使用了ChildWindow,当我打开ChildWindow时,启用了属性IsModal
。但是此属性不会阻止使用Tab进行导航。
当ChildWindos打开时,我需要阻止使用Tab进行导航。
我尝试使用Focusable属性但不提供服务。
答案 0 :(得分:1)
我了解您的问题是在显示ChildWindow时背景中的标签。
您应该尝试修改de Window的属性KeyboardNavigation.TabNavigation
。
如果您使用MVVM模式在XAML中执行类似的操作:
<Window
KeyboardNavigation.TabNavigation="{Binding TabNavigationMode}"
>
在ViewModel中:
private KeyboardNavigationMode _tabNavigationMode;
public KeyboardNavigationMode TabNavigationMode
{
get { return _tabNavigationMode; }
set { _tabNavigationMode = value; RaisePropertyChanged("TabNavigationMode");
}
创建一个这样的方法,在打开和关闭子窗口时调用
public void IsTabNavigationEnable(bool isEnable)
{
if (isEnable) TabNavigationMode = KeyboardNavigationMode.Contained;
else TabNavigationMode = KeyboardNavigationMode.None;
}
我尝试过它并且运行正常。该选项卡在后台禁用,但不在ChildWindow中禁用。
答案 1 :(得分:0)
这是一个已知问题,扩展工具包团队需要对其进行处理。同时,如果您仍然希望使用ChildWindow实现此功能,我建议订阅PreviewKeyDown事件并手动更改其行为当子窗口进入模态时,选项卡和箭头键。
问题的链接是