gpt4 book ai didi

silverlight - 在 XAML 中创建投影样式

转载 作者:行者123 更新时间:2023-12-03 21:19:40 25 4
gpt4 key购买 nike

我在一些 XAML 语法上有点挣扎,希望有人能提供建议。我想创建一个“Effect”类型的样式资源,其中包含一个 DropShadowEffect 定义,可以重复使用,而不是总是手动设置属性。这是我所拥有的:

<Style TargetType="DropShadowEffect" x:Name="DropShadowEffectStyle">
<Setter Property="BlurRadius" Value="5" />
<Setter Property="Direction" Value="315" />
<Setter Property="ShadowDepth" Value="2" />
<Setter Property="Opacity" Value="0.5" />
</Style>

<Style TargetType="TextBlock" x:Name="PageTabLabelStyle">
<Setter Property="FontSize" Value="16" />
<Setter Property="FontFamily" Value="Arial" />
<Setter Property="Foreground" Value="#EFEFEF" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="0, 10, 0, 10" />
<Setter Property="Effect" Value="{StaticResource DropShadowEffectStyle}" />
</Style>

每次运行时都会失败,所以我显然错过了一些东西。我认为它围绕文本块样式的“Effect”属性,期望“Effect”类型而不是“DopShadowEffect”类型。有任何想法吗?

最佳答案

您不能为效果“设置样式”,因为 Style 是 Control 的属性,而效果不是 Control。

您真正想做的是将效果本身放入资源字典中,并使用 StaticResource 引用来指向它。就像是:

<UserControl.Resources>
<DropShadowEffect x:Key="dropShadow" BlurRadius="25" Direction="315" />
<Style TargetType="TextBlock" x:Name="PageTabLabelStyle">
<Setter Property="FontSize" Value="16" />
<Setter Property="FontFamily" Value="Arial" />
<Setter Property="Foreground" Value="#EFEFEF" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="0, 10, 0, 10" />
<Setter Property="Effect" Value="{StaticResource dropShadow}" />
</Style>
</UserControl.Resources>

关于silverlight - 在 XAML 中创建投影样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1275889/

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