我尝试在Canvas
上绘制Rectangle
,如下所示:
System.Windows.Shapes.Rectangle rect;
rect = new System.Windows.Shapes.Rectangle();
rect.Stroke = new SolidColorBrush(Colors.Black);
rect.Fill = new SolidColorBrush(Colors.Black);
rect.Width=200;
rect.Height=200;
Canvas.SetLeft(rect,0);
Canvas.SetTop(rect,0);
front_canvas.Children.Add(rect);
为什么这段代码不画一个矩形?
画布在关联的XAML中定义如下:
<Canvas Height="200" Width="200" Name="front_canvas" Grid.Row="1" Grid.Column="0">
</Canvas>
画布显示得很好。我能看出来是因为它在布局网格中留下差距。
3条答案
按热度按时间3mpgtkmj1#
如果
front_canvas
显示正确,则此命令会将矩形绘制为200x200的黑色正方形。为什么这段代码不画一个矩形?
这不会吸引的主要原因是:
front_canvas
不可见front_canvas
不在视觉化树状结构中,且未正确显示FrameworkElement
模糊了front_canvas
,至少是左上角。注意,如果您希望看到指定的
Stroke
,通常还需要设置StrokeThickness
。kx7yvsdv2#
要查看矩形,必须指定
StrokeThickness
并设置任何大于零的Integer
值:o7jaxewo3#