我正在使用MVVM在WPF中工作。我实现了WPF Extended Toolkit,并使用了ChildWindow,当我打开ChildWindow时,启用了IsModal
属性。但是此属性不会阻止使用Tab导航。
当ChildWindos打开时,我需要使用Tab阻止导航。
我尝试使用Focusable属性,但没有用。
最佳答案
我了解您的问题是显示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中未禁用。
关于wpf - WPF中的MVVM-Block Tab键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24090643/