Как сделать панель с кнопками с эфектом InnerShadow?

введите сюда описание изображения

Необходимо сделать вот такое меню, не знаю как можно придумать внутреннюю тень блока.


Ответы (1 шт):

Автор решения: aepot

WPF само собой такое не поддерживает, так что только через лайф-хаки. Он немного посопротивлялся, и я все-таки нашел, как это сделать.

<Grid HorizontalAlignment="Left" VerticalAlignment="Top" Background="#303336">
    <Border CornerRadius="10" BorderThickness="4" Margin="6" BorderBrush="#303336">
        <Border.Effect>
            <DropShadowEffect BlurRadius="5" Color="Black" ShadowDepth="0"/>
        </Border.Effect>
    </Border>
    <Border CornerRadius="14" BorderThickness="10" BorderBrush="#303336">
        <StackPanel Margin="5" Orientation="Vertical">
            <StackPanel.Resources>
                <Style TargetType="TextBlock">
                    <Setter Property="FontFamily" Value="Segoe MDL2 Assets"/>
                    <Setter Property="FontSize" Value="20"/>
                    <Setter Property="Foreground" Value="White"/>
                    <Setter Property="Margin" Value="5"/>
                </Style>
            </StackPanel.Resources>
            <TextBlock Text="&#xF78C;" />
            <TextBlock Text="&#xE713;" />
            <TextBlock Text="&#xF78A;" />
        </StackPanel>
    </Border>
</Grid>

Шрифт Segoe MDL2 Assets доступен только для Windows 10, но хорошо описан здесь. Если понравился и нужна поддержка более старых версий Windows, то нужно его добыть и встроить в само приложение как файл, оттуда и подключить.

введите сюда описание изображения

→ Ссылка