2010-09-18 2 views
3

Я ищу библиотеку пользовательского интерфейса для .NET и Mono, что-то вроде Gtk #, но с поддержкой для 64-разрядной (на Windows тоже) и с некоторыми виджет как ListView WinForm, с VirtualMode.Ищете библиотеку пользовательского интерфейса для .NET и Mono

Я не хочу использовать WinForms и WPF. Есть ли альтернатива?

Спасибо.

+0

Было бы здорово иметь Qt, но я боюсь, что он недоступен. Мы должны были придумать для себя наш продукт. Он основан на WinForms и может работать на Mac/Linux/BSD/Windows/Solaris – pablo

ответ

1

Вы можете попробовать WX Widgets.NET: http://wxnet.sourceforge.net/

Пробовал, несколько лет назад, но предпочел пойти GTK # маршрут.

Не уверен, поддерживает ли он 64-битный, но лично я по-прежнему предпочитаю предоставлять 32-битные двоичные файлы даже для развертывания на 64-битных системах, именно потому, что большая часть инфраструктуры (собственные собственные библиотеки) еще не доступна на 64-битной основе, а не только для пользовательского интерфейса.

1

У вас есть веская причина для необходимости 64-битного? Вы всегда можете использовать свой интерфейс с GTK # в 32-битном режиме, но у вас есть бэкэнд-сервис, установленный/работающий на 64-битной основе. Просто мысль об этом. Если вы не имеете дело с очень большими наборами данных, вам может быть лучше перейти на 32-битный маршрут (по крайней мере, в окнах).

Как уже упоминалось, есть wxWidgets, а также несколько других портов интерфейса UI, но, честно говоря, WinForms и GTK # являются лучшими. Если вы хотите, чтобы кросс-платформенный GTK # был вашим лучшим вариантом в настоящее время. Существует более полный список GUI Toolkits for Mono here.

0

Основная причина, по которой 64-разрядный GTK + & GTK # не поставляется в Windows, объясняется тем, что на самом деле спрос не очень большой. В конце концов, большинство приложений на 64-битной Windows 32-разрядные. Некоторые пользователи приложили немало усилий для исправления ошибок, поэтому, если у вас есть веская причина для необходимости использования 64-разрядной версии Windows, я предлагаю заглянуть в архивы списков рассылки gtk-sharp-list.

Что касается VirtualMode, я не знаком с ним, но это похоже на реализацию пользовательского GTK TreeModel. GTK TreeView использует разделение модели/представления - поэтому для представления списка обычно подключается ListStore (простая плоская реализация TreeModel) к TreeView. Кроме того, вы можете проверить полностью управляемый GTK # ListView от Banshee, который был разработан для виртуализованных представлений в базе данных Sqlite.