Вы всегда можете создать DependencyProperty, который использует ICommand, и прослушать событие SelectedItemChanged в TreeView. Это может быть немного проще, чем привязка IsSelected, но я полагаю, что вы в любом случае завяжете привязку IsSelected по другим причинам. Если вы просто хотите привязать IsSelected, вы всегда можете сделать так, чтобы ваш элемент отправлял сообщение всякий раз, когда IsSelected изменяется. Затем вы можете слушать эти сообщения в любом месте вашей программы.

е может быть так сложно. TreeView в WPF не позволяет вам устанавливать SelectedItem, говоря, что это свойство ReadOnly. У меня есть TreeView, который заполняется, даже обновляется, когда меняется коллекция данных.

Мне просто нужно знать, какой предмет выбран. Я использую MVVM, поэтому нет кода или переменной, на которую можно ссылаться в виде дерева.Это единственное решение Я обнаружил, но это очевидный хак, он создает еще один элемент в XAML, который использует привязку ElementName, чтобы установить себя для выбранного элемента древовидных представлений, который вы затем должны также связать с вашей Viewmodel.Несколько Другиевопросов об этом спрашивают, но другие рабочие решения не даются.

Я виделэтот вопрос, но использование данного ответа дает мне ошибки компиляции, по какой-то причине я не могу добавить ссылку на blend sdk System.Windows.Interactivity в мой проект. Там написано: «неизвестная ошибка system.windows не была предварительно загружена», и я пока не выяснил, как обойти это.

Для бонусных баллов: какого черта Microsoft сделала свойство SelectedItem этого элемента ReadOnly?

Ответы на вопрос(6)

Ваш ответ на вопрос