Присоедините TargetWithoutContext к AppBarButton - PullRequest
1 голос
/ 05 августа 2011

У меня есть Conductor<MyItem>.Collection.OneActive ViewModel и я пытаюсь прикрепить кнопки панели приложения к методам MyItem с cal:Action.TargetWithoutContext="{ Binding ActiveItem }". На мой взгляд, это сводная таблица, если кто-то задается вопросом, почему я пытаюсь прикрепить панель приложения к дочерней ViewModel. Компилятор говорит «Свойство 'TargetWithoutContext' не может быть присоединено к элементам типа 'AppBarButton'." Хотя оно работает с обычными кнопками в других местах представления.

Как мне заставить это работать? Или может быть какой-нибудь обходной путь?

Ответы [ 3 ]

2 голосов
/ 05 августа 2011

Функциональность AppBar, которую предоставляет Caliburn.Micro, является хаком из-за недостатков базовой структуры, которые не допускают произвольного связывания.К сожалению, мы не можем поддерживать TargetWithoutContext.Для AppBars целью всегда будет модель представления страницы, и сообщения могут быть направлены только на нее.Если модель представления страницы является проводником, и вы хотите, чтобы дочерний элемент получил сообщение, вы могли бы, чтобы проводник получил его, а затем направил его в свой ActiveItem.

1 голос
/ 05 августа 2011

WP7 ApplicationBar - это простая оболочка вокруг собственной оболочки, которая вообще не поддерживает привязку данных.Тем не менее, есть несколько обходных путей.http://caliburnmicro.codeplex.com/discussions/232742

1 голос
/ 05 августа 2011

К сожалению, ApplicationBar не является bindalbe, поскольку он не является частью Silverlight Framework. Вы можете взаимодействовать с Приложением только через файл с кодом, который использует страницу приложения.

Вы должны зарегистрировать Событие Click и вызвать Действие из кода Сзади.

...