我有问题让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()
同样的问题!
我该如何解决?
由于
答案 0 :(得分:2)
将Owner
属性ConfigRole
设置为MainWindow
(或打开它的任何窗口),将Owner
ButtonListView
属性设置为{ {1}}窗口:
ConfigRole