2012-02-23 52 views
2

我想在MonoMac中的視圖上繪製一些圓圈,但我沒有一個從哪裏開始的想法。 在.NET下的Windows我會做類似在MonoMac中繪圖

Canvas canv = new Canvas(); 
Ellipse ell = new Ellipse(); 
Canvas.SetLeft(ell, 5); 
Canvas.SetTop(ell, 5); 
canv.Children.Add(ell); 

謝謝。

回答

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)); 
    } 
} 
+0

感謝您的回答。 所以我需要創建一個繼承類。 如何將它放入應用程序中。 對不起,我對MonoMac非常陌生。 – Girildo 2012-02-23 19:09:41

+3

如果你正在使用XIB(通過你的評論我猜你是),你可以在你的自定義類的頂部添加[Register(「MyDrawing」)],然後在界面生成器中,你只需將一個普通的NSView放在任何地方想要,然後將IB中的類名更改爲「MyDrawing」。它應該然後一切工作! – Curtis 2012-02-24 01:24:12

+0

哦,謝謝!你幫了我很多! – Girildo 2012-02-24 11:53:50