2017-06-05 5 views
1

ウィンドウをトップに保つのに問題がありますか?ここでは新しいウィンドウが、それが上にある、ウィンドウをトップにするWPF

正しいです

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(); 
} 

が、その後、私は他のウィンドウを表示したい:私はConfigRoleモデルで、このコードを持っているMVVM WPF

と連携します

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にこの新しいウィンドウを持っていない:ConfigRoleModel、 からTOPにこれはコードConfigRoleModelです! わかりません!それは私がwinconfigRole.ShowDialog(); と `Window.activate()

と同じ問題でもしてみてください最初..

のように同じコードです!

どうすれば修正できますか?

おかげ

+0

セットの所有者configRoleModel – adPartage

+0

への正確な答えは、非常にありがとう – devtunis

答えて

2

Owner財産MainWindowからConfigRoleを設定します(または任意のウィンドウますから、それを開く)とConfigRoleウィンドウにButtonListViewOwnerプロパティ:

if (!System.Windows.Application.Current.Windows.OfType<ButtonListView>().Any()) 
{ 
    ButtonListViewModel buttonListViewModel = new ButtonListViewModel(); 
    ButtonListView winconfigRole = new ButtonListView(); 
    winconfigRole.DataContext = buttonListViewModel; 
    winconfigRole.Owner = System.Windows.Application.Current.Windows.OfType<ConfigRole>().FirstOrDefault(); //<-- 
    winconfigRole.Show(); 
    winconfigRole.Topmost = true; 
    winconfigRole.Focus(); 
} 
+0

それは、 ありがとう! – devtunis

関連する問題