2016-11-21 210 views
0

我試過SetWindowCompositionAttribute解決方案,它運行良好,但沒有陰影。
我試圖結合blurbehind +在窗口上應用陰影與DropShadow for WPF Borderless Window,但在這裏我得到的問題與未聚焦/焦點窗口失去透明度。
是否有可能使模糊背景+陰影(和一些關閉/分/最大)無邊界窗口?
示例:AMD Radeon設置。它是wpf嗎?或者定製C++解決方案。無邊界窗口帶陰影和blurbehind

回答

1
var accent = new AccentPolicy() 
{ 
    AccentState = AccentState.ACCENT_ENABLE_BLURBEHIND, 
    AccentFlags = 0x20 | 0x40 | 0x80 | 0x100, 
}; 

設定值的AccentFlags會給你的窗口一個陰影效果,就像Windows 10的菜單和日曆一樣 enter image description here

enter image description here

+0

我會嘗試它。是否可以設置自定義陰影(顏色等)? – ionmike

+0

是的。它正在工作。我可以製作像

這樣的光面板嗎? – ionmike

+0

@ionmike其實我從這個[鏈接](http://pastebin.com/22nueJdZ)可以看到,AccentFlags的值對應於四個邊緣邊界。由於這種方法使用Windows 10的本地API,所以我認爲不會有太多細緻的效果調整。但是,您可以調整應用程序窗口的透明度和顏色,以獲得與win10的

類似的外觀 –

0

我知道如何在XAML中執行此操作,最好是在XAMl中使用所有可視代碼,並在C#中使用邏輯代碼。

代碼:

//設置了borderThickness爲0不boreder //與DropDownShadowEffect玩

<Border BorderBrush="color" BorderThickness="0" > 
     <Border.Effect> 
     <DropShadowEffect BlurRadius="10" Color="black" Direction="235" Opacity=".3" RenderingBias="Performance" ShadowDepth="4" /> 
     </Border.Effect> 
</Border> 

希望這是你在找什麼

+0

我不認爲它會工作。如果您嘗試將陰影應用於「窗口區域」,並且可能(或將會)模糊。在那裏,我試圖在窗口(dwm)上進行原生blurbehind +陰影。 – ionmike

+1

@ionmike,啊是的,對於你想要的東西,你可能必須閱讀控制模板,因爲這些允許你改變幾乎任何控制明智,不知道實際的窗口 - 對不起 – JohnChris