Есть Eto.Forms (на github), который представляет собой слой абстракции поверх WPF , WinForms , GTK ,и MonoMac / Cocoa - так что вы можете получить собственный интерфейс на всех платформах без необходимости повторной реализации для каждой платформы.Вам не нужно страдать от наименьшего общего знаменателя, поскольку вы можете реализовать специфику для каждой платформы (при желании, но не обязательно).
Преимущество этого метода в том, что он является чистым .NET и опирается только на ОС-поддерживаемые зависимости, в отличие от использования GTK #, где вам придется связывать собственные двоичные файлы для различных платформ.