<HierarchicalDataTemplate x:Key="SchemTemplate">
<TextBlock Text="{Binding Path=path}" />
</HierarchicalDataTemplate>
<HierarchicalDataTemplate x:Key="SchemesTemplate">
<TreeViewItem TextBlock.FontStyle="Italic"
Header="{Binding name}"
ItemsSource="{Binding schemes}"
ItemTemplate="{StaticResource SchemTemplate}" />
</HierarchicalDataTemplate>
<DataTemplate x:Key="ProjectTemplate">
<TreeView>
<TreeViewItem Header="{Binding Path=name}"
ItemsSource="{Binding schemes}"
ItemTemplate="{StaticResource SchemesTemplate}">
</TreeViewItem>
</TreeView>
</DataTemplate>
使用:
<ListBox Style="{StaticResource ListProjectsStyle}"
x:Name="projects"
Grid.Row="0" Grid.Column="0"
ItemsSource="{Binding projects_models, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
ItemTemplate="{StaticResource ProjectTemplate}"
SelectedItem="{Binding active_project, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
</ListBox>
TreeView上でマウスの右ボタンをクリックすると、ListBoxのSelectedItemが変更されましたが、左クリックすると変更されます。左クリックすると、TreeViewにフォーカスが移動するか、TreeViewアイテムが展開されます。TreeViewにフォーカスがある場合、ListBoxのフォーカスを変更するにはどうすればよいですか?