是否可以将外斜角效果应用于WPF中的标签文本?
就我而言,Glow效应应该足够了:
答案 0 :(得分:5)
这是一种在Text上获得Glow效果的方法。使用提供Stroke的this link中的OutlinedText控件。
<local:OutlinedText FontSize="100"
Fill="Black"
Bold="True"
Stroke="White"
StrokeThickness="3"
Text="Glow">
<local:OutlinedText.Effect>
<DropShadowEffect ShadowDepth="0"
Color="White"
Opacity="1"
BlurRadius="12"/>
</local:OutlinedText.Effect>
</local:OutlinedText>
<强>更新强>
这是我最接近斜角效果但它不能很好地工作。使用this link的方法。
<Style x:Key="ContentControlStyle1" TargetType="{x:Type ContentControl}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ContentControl}">
<Grid>
<TextBlock Name="Highlight" Foreground="#66FFFFFF" Text="{TemplateBinding Content}" />
<TextBlock Name="Shadow" Margin="0,4,0,0" Foreground="#CC000000" Text="{TemplateBinding Content}"/>
<ContentPresenter Margin="0,2,0,0"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<ContentControl Style="{DynamicResource ContentControlStyle1}" FontSize="101" Foreground="DarkGray" Content="Bevel"/>
答案 1 :(得分:3)
我对这个'解决方案'并不是特别满意:
<TextBlock Text="Hello World!" Foreground="Red">
<TextBlock.Effect>
<BlurEffect Radius="1" KernelType="Box" />
</TextBlock.Effect>
</TextBlock>
<TextBlock Text="Hello World!" />
其他选项是制作自己的像素着色器,我不是很擅长,所以我担心我无法帮助你:/
编辑:更好的解决方案,但仍然不是斜角。
<TextBlock Text="Hello World!">
<TextBlock.Effect>
<DropShadowEffect BlurRadius="2" Color="Red" Direction="0" ShadowDepth="0" />
</TextBlock.Effect>
</TextBlock>
答案 2 :(得分:0)
据我所知,这可以起作用:
<Label Content="Hi there!">
<Label.BitmapEffect>
<OuterGlowBitmapEffect/>
</Label.BitmapEffect>
</Label>
我没有在标签上测试过这个,但我在其他控件和形状中为我工作过,同时,查看IntelliSense为您提供的所有效果列表:)
答案 3 :(得分:0)
啊,好吧,我更了解你的问题。
尝试这样的事情:
<Grid>
<Grid.Resources>
<OuterGlowBitmapEffect GlowColor="Blue" GlowSize="5" x:key="Glow" />
</Grid.Resources>
<Label Content="Blah!" BitmapEffect="{StaticResource Glow}" />
</Grid>
我得到“Blah!”带着蓝色的光芒。看起来像一个体面的工作,因为Label的内容不能设置两次。
希望有所帮助!
编辑:除非您使用Framework 3.5,否则这将不起作用,因为BitmapEffect已被弃用。 :(
答案 4 :(得分:0)
Followintg Oggy的建议:
<Label.Effect>
<DropShadowEffect BlurRadius="5"
Color="Red"
Opacity="1"
ShadowDepth="0" />
</Label.Effect>