2011-05-11 214 views
2

林與WPF的窗戶WindowStyle = None和ResizeMode = NoResize陰影中掙扎。在窗口內容上使用DropShadow效果有什麼好的選擇嗎?我已經嘗試了Shell集成庫中的WindowChrome,但是當ResizeMode = NoResize時沒有顯示任何「Chrome」。WPF:刪除無邊框窗口陰影沒有定義鑲邊

如果有可能以某種方式在窗口邊界外繪製wpf-drop-shadow,它可能是一個解決方案。如果在窗口內繪製陰影,我會得到不同的行爲,例如當鼠標移動到陰影上時的標準。做這個的時候,點擊這個區域應該激活落後等

Zune播放器的窗口似乎是畫自己的陰影,因爲它不看完全一樣的標準Chrome陰影應該是在我的窗口中沒有命中測試。但它的行爲就像一個普通的投影,它不會捕獲鼠標事件。我想知道他們是如何做到的。

Spotify的也有另一種陰影同樣未捕獲鼠標事件。

我想這些應用程序徹底劃清自己WindowChrome,但如何?以某種方式支持WPF嗎?

<Window x:Class="ShellIntegrationTest.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:shell="clr-namespace:Microsoft.Windows.Shell;assembly=Microsoft.Windows.Shell" 
     Title="MainWindow" Height="512" Width="384" WindowStyle="None" ResizeMode="NoResize"> 
    <shell:WindowChrome.WindowChrome> 
    <shell:WindowChrome ResizeBorderThickness="5" GlassFrameThickness="-1" CornerRadius="0" CaptionHeight="25" /> 
    </shell:WindowChrome.WindowChrome> 
</Window> 
+0

請告訴我們您的XAML,所以我們可以看到你正在試圖完成的任務。 – 2011-05-11 14:59:27

回答

-2

如果更改ResizeMode到CanResize和ResizeBorderThickness設置爲0,你會得到一個無國界的窗口,它不能改變大小,可以通過這樣的窗口中點擊下拉陰影背後激活。