wpf - WPF中的MVVM-Block Tab键

标签 wpf mvvm childwindow

我正在使用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/

相关文章:

c# - WPF AxisAngleRotation3D 与 XNA CreateFromAxisAngle

c# - GridCell 中的 NumericUpDown - WPF

Silverlight 数据绑定(bind) - 将 ValueConverter 绑定(bind)到 View 模型上的属性

c++ - MFC:如何使子对话框的默认按钮起作用?

wpf - WPF 中的自定义控件

c# - Wpf Prism MVVM 模块之间的变化

c# - 试图让 IsEnabled 绑定(bind)到依赖属性

wpf - NOOB 挑战在 WPF 中实现 MVVM

c++ - C++中的子窗口问题

java - 如何在javafx中设置带有子窗口的菜单栏?