5

ここから TreeListView をダウンロードしました。データがクリップされている場合、水平スクロール バーまたは垂直スクロール バーが表示されませんでした。このような

だから私はそのスタイルを

<Style TargetType="{x:Type l:TreeListView}">
    <Setter Property="ScrollViewer.HorizontalScrollBarVisibility"
            Value="Auto" />
    <Setter Property="ScrollViewer.VerticalScrollBarVisibility"
            Value="Auto" />
    <Setter Property="VerticalContentAlignment"
            Value="Center" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type l:TreeListView}">
                <Border BorderBrush="{TemplateBinding BorderBrush}"
                        BorderThickness="{TemplateBinding BorderThickness}">
                    <DockPanel>
                        <GridViewHeaderRowPresenter Columns="{StaticResource gvcc}"
                                                    DockPanel.Dock="Top" />
                        <ScrollViewer x:Name="_tv_scrollviewer_"
                                      Background="{TemplateBinding Background}"
                                      CanContentScroll="False"
                                      Focusable="True"
                                      HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}"
                                      Padding="{TemplateBinding Padding}"
                                      SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
                                      VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}">
                            <ItemsPresenter />
                        </ScrollViewer>
                    </DockPanel>
                </Border>
                <ControlTemplate.Triggers>
                    <Trigger Property="VirtualizingStackPanel.IsVirtualizing"
                             Value="true">
                        <Setter Property="CanContentScroll"
                                TargetName="_tv_scrollviewer_"
                                Value="true" />
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

垂直スクロールバーは問題ありません。しかし、問題は Horizo​​ntal Scollbar です。データが水平方向にクリップされ、スクロールバーが右に移動すると、データは右に移動しますが、ヘッダーはそのまま残ります。このような。

treeitem を水平方向にスクロールすると、ヘッダーが一緒に移動するというこの問題を解決する方法。データが垂直にスクロールされたときにヘッダーを表示する必要があるため、スクロールビューアーにヘッダーを配置することはできません。

4

3 に答える 3

1

完全なツリービュー (ヘッダーを含む) を水平方向にスクロールしたい場合は、さらに次のような scrollviewer を追加します。

<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled" >
    <Treeview/>
</ScrollViewer>
于 2013-06-03T14:10:48.440 に答える