В настоящее время я использую код из блога blogstost this, чтобы мой TreeView выделил те элементы, которые в настоящее время зависают от мыши. Это работает так, как планировалось, однако теперь я хочу, чтобы TreeViewItems уведомляли свои прикрепленные ViewModels, когда они зависали/не зависали.TreeViewItem, чтобы уведомить ViewModel, когда он зависает
Однако я не понимаю, как я могу это достичь. Соответствующий код XAML выглядит следующим образом:
<Style TargetType="{x:Type TreeViewItem}">
<Style.Triggers>
<Trigger Property="Controls:TreeViewHelper.IsMouseDirectlyOverItem" Value="True">
<Setter Property="Background" Value="Green" />
</Trigger>
</Stile.Triggers>
</Style>
Как я могу связать свойство моего ViewModel, названный TreeNodeModel.IsHovered к TreeViewItem (или, возможно, свойство придает зависимость IsMouseDirectlyOverItem), так что я могу реагировать на эти изменения из моего кода?
Все примеры, которые я нашел через Google, объясняют только как установить цвет фона. Заранее благодарю за ваше время на вероятном тривиальном ответе.
Я пробовал это, но получаю исключение при запуске программы «Дополнительная информация: объект« Setter »не может указывать значение для свойства« Только для чтения »IsMouseDirectlyOverItem». Исключение имеет смысл, поскольку свойство действительно доступно только для чтения. Изменение его для чтения/записи для меня не кажется логичным. Есть ли другой способ уведомить мою модель просмотра? – Simon
Hm .. Если вы не хотите изменять 'IsMouseDirectlyOver' для чтения/записи, этот ответ на связанный вопрос SO может иметь обходное решение для вас: [привязка OneWayToSource от свойства readonly в Xaml] (http: // stackoverflow. com/questions/658170/onewaytosource-binding-from-readonly-property-in-xaml # answer-7227295) – Sphinxxx
..и также прочитайте раздел «Обновление: использование PushBinding в стиле» в сопроводительном сообщении в блоге Hedblad: [Связывание OneWayToSource для свойства ReadOnly Dependency] (http://meleak.wordpress.com/2011/08/28/onewaytosource-binding-for-readonly-dependency-property/). – Sphinxxx