現在取り組んでいるアプリケーションでこれに気付いたので、デモ用に簡単なテスト アプリを作成しました。以下は、ツリービュー項目のウィンドウとイベント ハンドラーです。「One」または「Two」の親ノードを展開し、子の 1 つをクリックすると、テキスト ボックスで Focus() メソッドが呼び出された後、選択された子が選択されたように表示されません。代わりに、選択は親ノードにポップされます。これを克服する方法を知っている人はいますか?選択した子ノードに選択を残しますか? ありがとう。
<Window
x:Class="DockingSample.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1"
WindowState="Maximized"
>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TreeView Margin="6">
<TreeViewItem Header="One">
<TreeViewItem Header="One" Selected="TreeViewItem_Selected" />
<TreeViewItem Header="Two" Selected="TreeViewItem_Selected" />
<TreeViewItem Header="Three" Selected="TreeViewItem_Selected" />
</TreeViewItem>
<TreeViewItem Header="Two">
<TreeViewItem Header="One" Selected="TreeViewItem_Selected" />
<TreeViewItem Header="Two" Selected="TreeViewItem_Selected" />
<TreeViewItem Header="Three" Selected="TreeViewItem_Selected" />
</TreeViewItem>
</TreeView>
<TextBox Grid.Column="1" x:Name="textbox" />
</Grid>
private void TreeViewItem_Selected(object sender, RoutedEventArgs e)
{
textbox.Focus();
}
上記のウィンドウと「選択された」イベントハンドル