これが私が持っているコードです:
<ScrollViewer Grid.Row="2" CanContentScroll="True">
<DockPanel>
<TreeView x:Name="tView" DockPanel.Dock="Top" VerticalAlignment="Stretch">
[...]
</TreeView>
<TreeView Name="pluginsView" DockPanel.Dock="Top" VerticalAlignment="Stretch">
[...]
</TreeView>
</DockPanel>
</ScrollViewer>
2 つの TreeView を定義する必要があります。同じ「領域」(つまり同じ [行、列]) にあるため、パネルを使用する必要がありました。私は StackPanel を使用しましたが、表示は私が望んでいたものではありませんでした。ScrollViewer を使用して、2 つの TreeView が「領域」のスペースに垂直に収まらない場合に共通のスクロールバーを取得できるようにしました。
私が抱えている問題は水平です。2 つの TreeView の 1 つが「大きすぎる」場合、スクロールバーが表示されますが、大きすぎる TreeView に対してのみ表示されるため、スクロールすると、TreeView の 1 つだけが水平方向に移動します。私が欲しいのは、スクロールすると両方の TreeView が水平に移動することです。
十分に明確かどうかわかりませんが、明確でない場合はスクリーンショットをアップロードできます !
私もこのコードを試しましたが、うまくいきません:
<ScrollViewer Grid.Row="2" CanContentScroll="True">
<Grid Grid.Row="2">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TreeView Grid.Row="0" x:Name="tView" DockPanel.Dock="Top" VerticalAlignment="Stretch">
[...]
</TreeView>
<TreeView Grid.Row="1" Name="pluginsView" DockPanel.Dock="Top" VerticalAlignment="Stretch">
[...]
</TreeView>
</DockPanel>
</ScrollViewer>
しかし、私はまったく同じ問題を抱えています.. :(