gpt4 book ai didi

c# - 如何将 dropshadoweffect 添加到文本框的文本(以编程方式)

转载 作者:太空狗 更新时间:2023-10-29 23:17:51 24 4
gpt4 key购买 nike

我有一个文本框,它在某个时候以编程方式添加到 Canvas ,我希望所有文本都具有投影效果,但我不希望该效果应用于文本框本身的边框。我该怎么做呢?向文本框添加 dropshadoweffect 将效果应用于框的边框并稍微“模糊”文本,但这不是我想要的,我在文本框上找不到任何属性让我单独向文本添加效果。我真的必须重新调整文本框的样式或制作自己的模板才能实现吗??

请注意,这是一个文本框,而不是文本 block (在这种情况下,我会从 here 复制/粘贴)

最佳答案

更新:找到了一个更好的方法,如果你直接将Effect应用到ScrollViewer<,你可以跳过Border部分 将文本封装在模板中。

<TextBox Text="Shadow Text">
<TextBox.Resources>
<Style TargetType="ScrollViewer">
<Setter Property="Effect">
<Setter.Value>
<DropShadowEffect ShadowDepth="4"
Direction="330"
Color="Black"
Opacity="0.5"
BlurRadius="4"/>
</Setter.Value>
</Setter>
</Style>
</TextBox.Resources>
</TextBox>

更新 2: 错过了在代码中创建 TextBox 的部分。这是与上面的 Xaml 等效的 c#

Setter effectSetter = new Setter();
effectSetter.Property = ScrollViewer.EffectProperty;
effectSetter.Value = new DropShadowEffect
{
ShadowDepth = 4,
Direction = 330,
Color = Colors.Black,
Opacity = 0.5,
BlurRadius = 4
};
Style dropShadowScrollViewerStyle = new Style(typeof(ScrollViewer));
dropShadowScrollViewerStyle.Setters.Add(effectSetter);

TextBox dropShadowTextBox = new TextBox();
dropShadowTextBox.Text = "Shadow Text";
dropShadowTextBox.Foreground = Brushes.Teal;
dropShadowTextBox.FontSize = 40;
dropShadowTextBox.Margin = new Thickness(10);
dropShadowTextBox.Resources.Add(typeof(ScrollViewer), dropShadowScrollViewerStyle);

好问题,一个想法是使 TextBox 的背景和 BorderBrush 透明,并将其放在 Border

<Border BorderThickness="1"
BorderBrush="#FF7F9DB9"
SnapsToDevicePixels="True"
UseLayoutRounding="True"
Margin="10">
<TextBox Text="Shadow Text"
Foreground="Teal"
FontSize="40"
Background="Transparent"
BorderBrush="Transparent">
<TextBox.Effect>
<DropShadowEffect ShadowDepth="4"
Direction="330"
Color="Black"
Opacity="0.5"
BlurRadius="4"/>
</TextBox.Effect>
</TextBox>
</Border>

这是与“普通”TextBox

的比较

enter image description here

关于c# - 如何将 dropshadoweffect 添加到文本框的文本(以编程方式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7257063/

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