Xamarin.Mac – Related Documentation
In addition to the Mac section of Microsoft Learn there are three great sources of documentation that can also be of assistance with Xamarin.Mac questions:
Xamarin.iOS documentation - For many APIs (primarily outside of AppKit/UIKit) there are only small differences between the iOS and macOS versions. In some cases where a given iOS API has a name of
UIFoo
, a similar API namedNSFoo
can be found on macOS. These examples will be generally in C# already.Apple’s Mac Dev Center - Many times an example of what APIs to call in Objective-C can be converted to C# in a straightforward manner. See Understanding Mac APIs for details on how to do this.
Stack Overflow - A great resource for simple one off questions such as "How do I auto expand all nodes in an NSOutlineView". These examples will often be in Objective-C and need to be converted to C#, but there is a subset of answers in C#.
User Interface
When working with C# and .NET in a Xamarin.Mac application, the Developer has access to the same User Interface controls that a developer working in Objective-C and Xcode does. Because Xamarin.Mac integrates directly with Xcode, the developer can use Xcode's Interface Builder to create and maintain an app's User Interfaces (or optionally create them directly in C# code).
The guides listed below give detailed information about working with macOS elements in a Xamarin.Mac application: