Шей прав, но только для Silverlight, и я не использовал Silverlight и IronRuby. Вы можете связывать и использовать команды с чистыми IronRuby и WPF. Я предполагаю, что это также относится к IronPython, поскольку они оба используют ICustomTypeDescriptor . Предостережение: для событий вам потребуется более свежая сборка DLR, чем IronRuby 0.9.
Чтобы создать команду IronRuby, вам нужно реализовать события. См. Этот вопрос SO для более Реализация и интерфейс в IronRuby, который включает в себя события CLR
Что касается создания объекта IronRuby, который может участвовать в связывании, сделка представляет собой средство чтения / записи attr, которое необходимо использовать для DLR, чтобы рассматривать его как свойство.
class Bindable
attr :some_property, true
end
У меня есть несколько гистов по этому поводу. Пример команды , Простой пример ViewModel с привязкой И используемая в примерах библиотека xaml на основе XML Builder *1017*. Это сработало для меня.
Есть ограничения. XamlLoader не может видеть классы IronRuby из CLR. Это означает, что ваши взгляды ДЕЙСТВИТЕЛЬНО тупые (без кода) или они приходят из C # dll. Это также означает, что вы не можете создавать пользовательские или пользовательские элементы управления, имеющие какой-либо код, не переходя на C #.
Хотя у меня нет полностью выпеченного приложения MVVM в IronRuby / WPF, я думаю, что все кусочки на месте, и я добираюсь туда.