У меня есть приложение WPF, у которого есть сетка данных сторонних разработчиков с рамкой вокруг него. Я использовал DropShadowEffect
, чтобы поместить тень за границу, но это, похоже, влияет на производительность несколько (не так много, как BitmapEffect
, но все же заметно) и делает шрифт рендеринга нечетким. Есть ли способ каким-то образом применить эффект к границе, но не его содержимое?Как применить эффект к границе, но не к ее содержимому в WPF?
Я попытался установить Эффект на содержимое на {x:Null}
, но это не помогло.
Вот пример приложения, в котором я придумал. Он помещает тень за границу, но также заслоняет тень за каждой строкой текста. Я хочу тень за границей, но не текст.
<Window x:Class="WpfEffectTest.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
<Border BorderBrush="Black" BorderThickness="10" CornerRadius="5" Margin="25">
<Border.Effect>
<DropShadowEffect BlurRadius="10" ShadowDepth="5" />
</Border.Effect>
<StackPanel>
<TextBlock>This is some text</TextBlock>
<TextBlock>This is some text</TextBlock>
<TextBlock>This is some text</TextBlock>
<TextBlock>This is some text</TextBlock>
<TextBlock>This is some text</TextBlock>
<TextBlock>This is some text</TextBlock>
</StackPanel>
</Border>
</Grid>
</Window>