Silverlight добавление одного делегата команды призмы в список элементов в xaml - PullRequest
0 голосов
/ 23 апреля 2010

Я создаю меню, используя Prism (используя древовидное представление trtelerik с шаблонами данных иерархии, но, надеюсь, детали не имеют значения), и я пытаюсь настроить Click.Command для каждого элемента меню, привязки которого будут всевызовите ту же команду делегата, которая определена в модели представления.Меню составлено из элементов, в которые я не хочу помещать ссылки на команду.

Как связать команду с каждым из этих элементов в xaml?Я посмотрел вокруг, и похоже, что в WPF я мог бы использовать относительную привязку к источнику и найти предков, но, кажется, нет способа сделать это в Silverlight.Могу ли я как-то настроить делегата как статический ресурс?Я не думаю, что смогу создать статический ресурс для модели представления, поскольку он использует Unity для разрешения параметров в своем конструкторе.

1 Ответ

0 голосов
/ 27 апреля 2010

Один из вариантов - привязать к DataContext UserControl (или к DataContext любого другого элемента управления) через привязку ElementName.

<UserControl x:Name="Control" xmlns:Cal="clr-namespace:Microsoft.Practices.Composite.Presentation.Commands;assembly=Microsoft.Practices.Composite.Presentation"...

Cal:Click.Command="{Binding ElementName=Control, Path=DataContext.SomeVMCommand}"

Вот аналогичный пост.

...