Свойства и методы привязки к одному элементу с помощью Caliburn.Micro - PullRequest
0 голосов
/ 03 июня 2011

Итак, я довольно новичок в разработке Silverlight и пытаюсь понять и использовать инфраструктуру Caliburn.Micro.Я понимаю, что CM использует соглашение для сопоставления свойств в модели представления с элементами в представлении и что соглашения по умолчанию можно найти в классе ConventionManager CM.

Моя ситуация такова: у меня есть TreeView (используя набор инструментов Silverlight) с именем «Библиотеки», и я успешно связал свойство типа ObservableCollection в моей модели представления с TreeView.Это свойство также называется «Библиотеки», поэтому CM сделал все остальное.

Теперь я хочу создать свойство в модели представления, которое будет установлено с помощью SelectedItem TreeView.Как я должен сделать это, используя соглашения CM?Как мне следует назвать это свойство?

И, наконец, я хочу, чтобы метод в модели представления вызывался при возникновении события SelectedItemChanged TreeView.Как мне назвать метод, чтобы он выполнялся по соглашению?

Может кто-нибудь помочь с этим?

Айзенберг ... Айзенберг ... (в моем лучшем подражании Бену Стейну)

Спасибо, Дэвид

РЕДАКТИРОВАТЬ: я должен также отметить, что я изменил сборку CMдобавить следующую строку в конструктор ConventionsManager, как это было ранее исключено из Silverlight-версии CM dll:

AddElementConvention(TreeView.ItemsSourceProperty, "SelectedItem", "SelectedItemChanged");

1 Ответ

1 голос
/ 03 июня 2011

Вы сможете создать открытое свойство с именем SelectedLibrary или ActiveLibrary, а CM сделает все остальное.Если это не сработает, вы всегда можете вернуться к действию:

cal:Message.Attach="[Event SelectedItemChanged] = [Action SelectedLibrary($eventArgs)]"

edit: вам нужен установщик свойств и метод для запуска?

...