Как получить SelectedItem / SelectedItemName в TreeView при нажатии на флажок? - PullRequest
0 голосов
/ 20 сентября 2019

наличие иерархического шаблона данных для просмотра дерева WPF и настройки поведения для получения SelectedItem / SelectedItemName, когда пользователь нажимает на TreeViewItem.Примерно так:

    <HierarchicalDataTemplate DataType="{x:Type model:ComponentList}" ItemsSource="{Binding ComponentItems}">
      <StackPanel Orientation="Horizontal" Height="Auto" Margin="2">
        <CheckBox Name="chk" IsChecked="{Binding Nxnavigatorchkbox, Mode=TwoWay}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" >
           <CheckBox.InputBindings>
             <MouseBinding Command="{Binding Path=DataContext.SelectedNXCompChangedCommand, Source={x:Reference nxtreeview}}" MouseAction="LeftClick"/>
           </CheckBox.InputBindings>
        </CheckBox>
        <TextBlock Text="{Binding Path=Displayname}" MinWidth="190" Style="{StaticResource TextBlockTreeView}">
        </TextBlock>
      </StackPanel>
   </HierarchicalDataTemplate>

Часть поведения

 <i:Interaction.Behaviors>
    <local:BindableSelectedItemBehaviour SelectedItem="{Binding SelectedNXComponent, Mode=TwoWay}" SelectedItemName="{Binding SelectedNXNodeName, Mode=TwoWay}" />
 </i:Interaction.Behaviors>

Теперь я запускал метод выбора / отмены выбора при выборе пользователем текстового блока в виде дерева.Это работало хорошо, когда я проверял, какой узел выбран пользователем, и выбирал дочерние узлы под ним.Но теперь пользователь хочет установить флажок и установить / снять флажки дочерних узлов.У меня есть метод для выбора на месте, но он, кажется, не работает, потому что выбор флажка не дает мне SelectedItemName.Есть ли способ, когда пользователь выбирает флажок, я получу DisplayName или любую другую информацию о текстовом блоке?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...