簡體   English   中英

禁用WPF窗口的Aero玻璃/透明膠片?

[英]Disabling Aero glass/transparency for WPF window?

我可以以某種方式禁用WPF應用程序窗口的玻璃/透明膠片嗎?

注意:我不想禁用Aero,僅禁用玻璃/透明膠片,而不是整個窗口,而不是我的窗口。

諸如此類(“ Enable Transparency復選框),但僅適用於我的應用程序:

在此處輸入圖片說明

這可能嗎?

我知道這已經晚了,但是對於其他人,您可以使用以下方法。 它可能不會嚴格回答這個問題,因為這可能被視為“禁用Aero”,但是它確實僅對客戶端窗口禁用了透明性。

[DllImport("DwmApi.dll")]
public static extern int DwmSetWindowAttribute(IntPtr hwnd, int dwAttribute, ref int pvAttribute, int cbAttribute);

private const int DWMWA_NCRENDERING_POLICY = 2;
private const int DWMNCRP_DISABLED = 1;

private void OnLoaded(object sender, RoutedEventArgs e)
{
    var mainWindowHandle = new WindowInteropHelper(this).Handle;
    var policyParameter = DWMNCRP_DISABLED;

    DwmSetWindowAttribute(mainWindowHandle, DWMWA_NCRENDERING_POLICY, ref policyParameter, sizeof(int));
}

您可以在此處找到更多信息DwmSetWindowAttribute函數

暫無
暫無

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

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