簡體   English   中英

C#新窗口焦點

[英]C# New window focus

我的程序包含一個帶有“SelectionChanged”事件的列表視圖。 當我在列表視圖中更改所選項目時,我想打開一個新窗口,其中包含與其相關的特定選項。 但問題是新窗口出現片刻,它隱藏在主窗口后面。 這是我的代碼的一部分:

private void display_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        var editwindow = new EditWindow();
        editwindow.Show();
        editwindow.Focus();
    }

當它啟動時,我還在第二個窗口中包含了Focus功能。 我怎么能解決這個問題?

嘗試事件發生時更改焦點通常很麻煩,就在這里。 你需要一個PostSelectionChanged事件但是不可用。 您可以創建自己的,Dispatcher.BeginInvoke()可以在完成所有事件處理后運行目標。 這解決了您的問題:

private void display_SelectionChanged(object sender, SelectionChangedEventArgs e) {
    Dispatcher.BeginInvoke(new Action(() => {
       var editwindow = new EditWindow();
       editwindow.Show();
    }));
}

使用Activate()函數:

editWindow.Activate();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM