如何将drophadoweffect添加到文本框的文本(以编程方式)

我有一个文本框,在某些时候以编程方式添加到canvas,我希望所有文本都有一个drophadoweffect,但我不希望该效果应用于文本框本身的边框。 我该怎么做呢? 在文本框中添加一个drophadoweffect将效果应用到框的边框,并使文本“模糊”一点但这不是我想要的,我在文本框中找不到任何可以单独为文本添加效果的属性。 我真的需要重新设置文本框或制作我自己的模板来实现这一目标吗?

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

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

      

更新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的Background和BorderBrush透明并将其放在Border

        

这是与“普通” TextBox的比较

在此处输入图像描述