Панель инструментов с привязкой ItemsSource не может привязаться к основной виртуальной машине - PullRequest
0 голосов
/ 22 марта 2011

У меня есть панель инструментов, использующая привязку ItemsSource к моей основной виртуальной машине. каждый элемент является типом ToolBarItem, который имеет, значок, команду и т. д. Одна из моих команд на панели инструментов - установить IsOptionsDialogOpen на моей основной виртуальной машине (не ToolBarItem), я привязываю PopUp.IsOpen (который является частью моего шаблона ToolBar) к этому свойству, но он никогда не обращается к нему, причина в том, что это часть моей основной виртуальной машины, а не класса ToolBarItem.

Я пытался связать таким образом:

IsOpen="{Binding IsOptionsDialogOpen, RelativeSource={RelativeSource FindAncestor,  AncestorType={x:Type ToolBar}}}"

но это тоже не сработало, есть идеи?

1 Ответ

2 голосов
/ 22 марта 2011

RelativeSource в вашей привязке [если она прошла успешно] вернет ToolBar, а не DataContext.Измените свою привязку:

IsOpen="{Binding DataContext.IsOptionsDialogOpen, RelativeSource=...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...