在MonoMac中绘图

Gir*_*ldo 2 c# drawing monomac

我试图在MonoMac的视图上绘制一些圆圈,但我没有一个想法从哪里开始.在Windows下的.NET下,我会做类似的事情

Canvas canv =  new Canvas();
Ellipse ell = new Ellipse();
Canvas.SetLeft(ell, 5);
Canvas.SetTop(ell, 5);
canv.Children.Add(ell);
Run Code Online (Sandbox Code Playgroud)

谢谢.

Cur*_*tis 8

MonoMac的工作方式与WPF略有不同.你必须在派生类的DrawRect()函数中进行绘图,如下所示:

public class MyDrawing : NSView
{
    public override void DrawRect (RectangleF dirtyRect)
    {
        var context = NSGraphicsContext.CurrentContext.GraphicsPort;
        context.SetStrokeColor (new CGColor(1.0, 0, 0)); // red
        context.SetLineWidth (1.0F);
        context.StrokeEllipseInRect (new RectangleF(5, 5, 10, 10));
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 如果你正在使用XIB(你的评论,我猜你是),你可以在自定义类的顶部添加[Register("MyDrawing")],然后在界面构建器中,你只需要在任何你想要的地方放置一个普通的NSView ,然后将IB中的类名更改为"MyDrawing".它应该全部工作! (3认同)