Я борюсь с тенью на окнах WPF с WindowStyle = None и ResizeMode = NoResize.Есть ли хорошая альтернатива использованию эффекта DropShadow для содержимого окна?Я пробовал WindowChrome в библиотеке интеграции с оболочкой, но он не показывает никакого «Chrome», когда ResizeMode = NoResize.
Если можно было как-то нарисовать тень wpf-drop за пределами границ моего окна, это могло бы стать решением.Если я рисую тень внутри окна, я получаю другое поведение, отличное от стандартного, например, при наведении курсора мыши на тень.При этом в моем окне не должно быть проверки попадания, и нажатие на эту область должно активировать окно позади и т. Д.
Кажется, что 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>