【发布时间】:2016-10-03 17:52:26
【问题描述】:
我尝试在我的 WPF 项目中以编程方式绘制一个圆角矩形。我对 WPF 很陌生,并试图弄清楚绘图是如何工作的,因为它与 WinForms 有很大不同。我正在使用>this< 链接作为圆角矩形方法(我的方法与该网站上的方法相同)。这是我的代码:
Rect rect = new Rect();
rect.Width = Width - BorderSize;
rect.Height = Height - BorderSize;
DrawingVisual drawingVisual = new DrawingVisual();
using (var draw = drawingVisual.RenderOpen())
{
DrawRoundedRectangle(draw, new SolidColorBrush(Color.FromRgb(0, 0, 0)),
new Pen(new SolidColorBrush(Color.FromRgb(0, 0, 0)), BorderSize), rect, new CornerRadius(5, 5, 5, 5));
}
ContentPresenter content = new ContentPresenter();
content.Content = drawingVisual;
previewcanvas.Children.Add(content);
这是我在画布上的输出:
不是我所期待的;)一开始不应该有任何文字。
希望有人能帮我画圆角矩形!
编辑
一些额外的信息,我需要能够设置每个单独的角。
【问题讨论】:
-
我认为您应该使用
RenderTargetBitmap渲染您的视觉效果,然后您应该将RenderTargetBitmap分配给Image.Source。然后你应该将Image添加到Canvas。