Добро пожаловать!Рад видеть больше пользователей Xamarin.Mac.
@ SushiHangover намекнул на это, но вы должны быть в правильном контексте рисования.Простите, если я чересчур объясняю, но пользовательский рисунок, который вы обсуждаете, часто выполняется в NSView, обычно путем переопределения метода DrawRect(CGRect dirtyRect)
представления.Этот метод по сути вызывается AppKit в соответствующем графическом контексте.Таким образом, ваш код будет работать нормально, если вызывается в этом методе представления.Имейте в виду, что эти методы рисования вызываются очень часто и должны быть эффективными.
Если бы вы использовали CGPath вместо NSBezierPath, вам нужно добавить этот путь в контекст, вызвав NSGraphicsContext.CurrentContext.CGContext.addPath(path)
.
Я сделал для вас небольшую рабочую книгу Xamarin под названием «Пользовательский рисунок MacOS», которая показывает оба способа: https://github.com/NickSpag/Workbooks. Я бы также рекомендовал рабочие книги для практики рисования и тестирования, поскольку они делают это.очень легко постоянно и быстро перезагружать ваш код.