将窗口保持在WPF顶部

时间:2017-06-05 17:40:51

标签: c# wpf mvvm

我有问题让Window保持在TOP?我使用MVVM WPF

我在ConfigRole模型中有这段代码:

if (!System.Windows.Application.Current.Windows.OfType<ConfigRole>().Any())
{                 
    ConfigRoleModel configRoleModel = new ConfigRoleModel();
    ConfigRole winconfigRole = new ConfigRole();
    winconfigRole.DataContext = configRoleModel;
    winconfigRole.Show();
    winconfigRole.Topmost = true;
    winconfigRole.Focus();
}

这里的新窗口是正确的,它位于TOP,

但在那之后,我想在ConfigRoleModel上显示TOP上的其他Window, 这是代码ConfigRoleModel:

if (!System.Windows.Application.Current.Windows.OfType<ButtonListView>().Any())
{                 
    ButtonListViewModel buttonListViewModel = new ButtonListViewModel();
    ButtonListView winconfigRole = new ButtonListView();
    winconfigRole.DataContext = buttonListViewModel;

    winconfigRole.Show();
    winconfigRole.Topmost = true;
    winconfigRole.Focus();
}

所以,我在TOP上没有这个新窗口! 我不明白!它与第一个代码相同。

我也尝试使用winconfigRole.ShowDialog(); 和`Window.activate()

同样的问题!

我该如何解决?

由于

1 个答案:

答案 0 :(得分:2)

Owner属性ConfigRole设置为MainWindow(或打开它的任何窗口),将Owner ButtonListView属性设置为{ {1}}窗口:

ConfigRole