簡體   English   中英

C#和XAML彈出窗口未顯示在屏幕截圖中

[英]C# & XAML Popup doesn't show in screenshot

我在自定義GUI應用程序中有很多彈出窗口。 這些彈出窗口是窗口對象,而不是彈出對象。 使用鍵盤上的“打印屏幕”按鈕時,彈出窗口不會顯示在屏幕快照中。 取而代之的是,屏幕截圖中顯示了下面所有禁用的主窗口。 彈出窗口不會閃爍或消失,只是不會顯示在屏幕截圖中。

WindowInstance.IsEnabled = true;
WindowInstance.Refresh();
DisplayPopUpWindow(WindowInstance);

DisplayPopupWindow中的代碼:

private void DisplayPopUpWindow(Window theWindow)
{
    if (theWindow != null)
    {
        if (theWindow is MessagePopup)
        {
            // Only show one popup at a time (queue is handled elsewhere)
            RemovePopUpsCommand.Execute(true, null);
        }

        ActiveWindow.IsEnabled = false;  // main screen disabled

        foreach (KeyValuePair<Window, int> aPopup in popUpWindows)
        {
            if ((aPopup.Key.IsVisible) && (aPopup.Key.Opacity == 1) && (aPopup.Key != theWindow))
            {
                // if window is a lower priority then disable it
                if (aPopup.Value > displayPriority)
                    aPopup.Key.IsEnabled = false;
            }
        }
        theWindow.Show();
        theWindow.Opacity = 1;
    }
}

XAML中是否有一些屬性會影響窗口對於屏幕截圖是否可見? 這是一個很大的問題,因為這也會影響我們使用的某些遠程處理軟件,因為彈出窗口不會顯示在共享屏幕上。 也影響我們的組合框實現。

“彈出窗口”實際上是它們自己的獨立窗口。 一些實例在應用程序啟動期間創建一次實例,並在需要時簡單地顯示/隱藏,但是,大多數實例是按需創建以顯示的。 此問題影響兩種類型。

使用的遠程處理軟件是axeda access remote。

如果我沒記錯的話,我也遇到了同樣的問題,並且我認為這與將彈出窗口的父窗口設置為修復該問題的主窗口有關,那么我必須在家看一下代碼以進行確認。

因此,請確保正確設置。

編輯:

創建Window對象時,請嘗試使用以下代碼:

MainWindowVariable.Owner = Window.GetWindow(this)

你可以在這里閱讀更多:

http://msdn.microsoft.com/en-us/library/system.windows.window.owner(v=vs.110).aspx

暫無
暫無

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

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