我能够在UI元素周围放置一个光环,比如一个文本框。问题是它几乎是看不见的。

我用它做的
Effect glowEffect = new DropShadowEffect
{
BlurRadius = 20,
Color = Colors.Gold,
ShadowDepth = 10,
Opacity = 1,
RenderingBias = RenderingBias.Quality
};并将其与
tbxSearch.GotFocus += (sendGF, argGF) => { (sendGF as TextBox).Effect = glowEffect; };
tbxSearch.LostFocus += (sendLF, argLF) => { (sendLF as TextBox).Effect = null; };我试着改变所有的参数,但是几乎没有什么改变。谢谢
发布于 2021-12-09 08:56:03
我没有找到比以下更好的解决办法:
。
这也可以在圆桌上完成。
public void Add(TextBox tbx, int num)
{
var glowEffectRed = new DropShadowEffect
{
BlurRadius = 50,
Color = new Color { A = 255, R = 255, G = 0, B = 0 },
ShadowDepth = 0,
Opacity = 1,
RenderingBias = RenderingBias.Performance
};
tbx.Effect = glowEffectRed;
var grd = (Grid)tbx.Parent;
grd.Children.Remove(tbx);
for (int iii = 0; iii < num; iii++)
{
var tbxAdd = new TextBox();
tbxAdd.Effect = glowEffectRed;
Grid.SetRow(tbxAdd, Grid.GetRow(tbx));
tbxAdd.Height = tbx.ActualHeight;
tbxAdd.Width = tbx.ActualWidth;
grd.Children.Add(tbxAdd);
}
grd.Children.Add(tbx);
},然后用效果的次数重新调用。
Add(tbx1, 1);
Add(tbx2, 5);
Add(tbx3, 10);
Add(tbx4, 15);

如果静态地使用,这可能会奏效。如果效果必须是迪纳美,这肯定会导致性能问题。
https://stackoverflow.com/questions/70124755
复制相似问题