c# - 如何在标签上保持阴影效果
问题描述
我正在创造一个著名的文字游戏,Lingo。为了更好地阅读它,我添加了阴影效果。创建效果时,会添加阴影。开头可见,改成字母后消失
public DropShadowEffect drop = new DropShadowEffect
{
Color = new Color { A = 0, R = 0, G = 0, B = 0 },
Direction = 315,
ShadowDepth = 5,
Opacity = 1,
BlurRadius = 5
};
public void DrawTextblocks(WrapPanel Word_canvas)
{
for (int j = 0; j < 10; j++)
{
for (int i = 0; i < letter_lenth; i++)
{
Border Background = new Border
{
Background = Brushes.DarkBlue,
Width = size,
Height = 118,
Margin = new Thickness(0),
BorderBrush = Brushes.DarkGray,
BorderThickness = new Thickness(1, 1, 1, 1),
};
Label Label = new Label
{
Height = 118,
Width = size,
FontSize = font_size_letter,
Effect = drop,
Background = Brushes.Transparent,
HorizontalContentAlignment = HorizontalAlignment.Center,
VerticalContentAlignment = VerticalAlignment.Center,
Foreground = Brushes.White,
Content = ".",
Margin = new Thickness(0),
};
Letter_backgrounds[j, i] = Background;
Background.Child = Label;
Word_canvas.Children.Add(Background);
Canvas.SetLeft(Label, i * 118);
Canvas.SetTop(Label, j * 118);
Letter_labels[j, i] = Label;
}
}
}
最奇怪的部分是我创建数字的方式相同,但是阴影效果并没有消失。即使在我使用 Lingo 使前景透明和背景变白之后。(请参阅 gif 以获得更好的想法)
public void DrawBalls_F(UniformGrid Ball_canvas_F)
{
for (int j = 0; j < 5; j++)
{
for (int i = 0; i < 5; i++)
{
lost_numbers_f = lost_numbers_pattern_F1;
Border Ball_border = new Border
{
BorderThickness = new Thickness(5),
BorderBrush = new SolidColorBrush(Colors.Transparent),
Background = new SolidColorBrush(Colors.DarkBlue),
CornerRadius = new CornerRadius(100),
Width = 118,
Height = 118
};
Label Ball_label = new Label
{
Width = 118,
Height = 118,
Effect = drop,
Content = board_f2[j, i],
HorizontalContentAlignment = HorizontalAlignment.Center,
VerticalContentAlignment = VerticalAlignment.Center,
FontSize = font_size_ball,
Foreground = new SolidColorBrush(Colors.White),
Background = new SolidColorBrush(Colors.Transparent),
};
Ball_canvas_F.Children.Add(Ball_border);
Canvas.SetLeft(Ball_label, i * size);
Canvas.SetTop(Ball_label, j * size);
Ball_F_L[j, i] = Ball_label;
Ball_F_B[j, i] = Ball_border;
}
}
}
}
阴影停留在数字而不是字母的原因是什么?
解决方案
推荐阅读
- powershell - 如何处理复制项的错误
- c++ - 当指定派生类的析构函数时,std::move 不起作用
- dialogflow-es - DialogFlow 跟进触发空响应
- android - 图像未显示 [Xamarin.Forms][Syncfusion]
- javascript - reactjs fetch - 正文:json.stringify
- wpf - Contentpresenter 中的 Span 无法正常工作
- javascript - Javascript json数据在每个内部附加时被修剪
- c# - DGV 不更新值
- java - Java:解析时间字符串失败
- julia - 使用 @animate 宏动画 while 循环