0

エキスパンダーにデータグリッドがあり、gatagrid には 10 を超える列があります。次に、エキスパンダーのデータグリッドを
スクロールする必要があります。ただし、スクロールして他の列を表示することはできません。私のコードは以下です。

                <Expander Header="Attribute" VerticalAlignment="Top" Grid.Row="1" >
                    <ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Visible" CanContentScroll="True" Grid.Row="1" >
                           <DataGrid DataContext="{Binding}" Height="257" ItemsSource="{Binding}"  MinHeight="200" Name="gridview1" Grid.Row="2" Grid.Column="0" 
                           VerticalAlignment="Bottom" IsReadOnly="True"></DataGrid>
                     </ScrollViewer>
                </Expander>
4

1 に答える 1

2

DataGridには、ControlTemplateに埋め込まれたScrollViewerがあります。

したがって、2つのことができます:

本当に独自のScrollViewerを使用したい場合(ただし、使用すると、DataGrid仮想化などの機能が失われることに注意してください)、このコードは機能するはずです。

<Expander Header="Attribute" VerticalAlignment="Top" Grid.Row="1" >
    <ScrollViewer HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible" CanContentScroll="False" Grid.Row="1" >
        <DataGrid Height="257"  MinHeight="200" Name="gridview1" Grid.Row="2" Grid.Column="0" 
                       VerticalAlignment="Bottom" IsReadOnly="True">
            <DataGrid.Style>
                <Style>
                    <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled" />
                    <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Disabled" />
                </Style>
            </DataGrid.Style>
        </DataGrid>
    </ScrollViewer>
</Expander>

ただし、これを行うことをお勧めします:

<Expander Header="Attribute" VerticalAlignment="Top" Grid.Row="1" >
        <DataGrid Height="257"  MinHeight="200" Name="gridview1" Grid.Row="2" Grid.Column="0" VerticalAlignment="Bottom" IsReadOnly="True">
            <DataGrid.Style>
                <Style>
                    <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Visible" />
                    <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Visible" />
                </Style>
            </DataGrid.Style>
    </DataGrid>
</Expander>

DataGrid.Styleは必要ありません。

于 2012-10-18T09:59:26.920 に答える