2013-01-17 32 views
0

我有一個ListView.ItemContainerStyle定義定義爲這樣的MouseDoubleClick事件處理程序:新窗口中打開在後臺從MouseDoubleClick事件

事件處理程序被定義爲:

private void MyClass_MouseDoubleClick(object sender, MouseButtonEventArgs e) 
{ 
    ListViewItem listViewItem = (ListViewItem)sender; 
    MyClass senderItem = (MyClass)(listViewItem.Content); 
    EditFile editFileWindow = new EditFile(senderItem); 
    editFileWindow.Show(); 
} 

可正常工作不同之處在於新窗口彈出後會顯示在我的主應用程序窗口後面。如何在加載後將焦點設置到新窗口?

我試着在我窗口的類構造函數的末尾添加this.Focus(),但它沒有改變任何東西。

回答

1

試試這個:

editFileWindow.ShowDialog(); 
+0

SMH!很簡單... –

0

通過調用剛纔的ShowDialog()你阻塞主UI線程。

嘗試調用它低谷Dispatcher.BeginInvoke,就像這樣:

this.Dispatcher.BeginInvoke(new Action(() => editFileWindow.Show()));