gpt4 book ai didi

wpf - 如何在 WPF 中将效果应用于边框而不应用于其内容?

转载 作者:行者123 更新时间:2023-12-04 03:31:17 25 4
gpt4 key购买 nike

我有一个 WPF 应用程序,它有一个 3rd 方数据网格,周围有边框。我用过 DropShadowEffect将阴影放在边框后面,但这似乎会影响性能(不像 BitmapEffect 那样多,但仍然很明显)并使字体渲染模糊。有没有办法以某种方式将效果应用于边框,而不是它的内容?

我尝试将内容的效果设置为 {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>

最佳答案

gcores 的链接给出了答案,即将边框及其内容放在同一个网格中,以便内容覆盖边框。

<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>
</Border>
<StackPanel Margin="35">
<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>
</Grid>
</Window>

关于wpf - 如何在 WPF 中将效果应用于边框而不应用于其内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/807420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com