0

WPFユーザーコントロールがあります。GridSplittersで区切られたいくつかのエキスパンダーが含まれています。以下のコードでは、2番目のエキスパンダーにTabControlアイテムが含まれていることがわかります。タブの1つにDataGridがあります。私の問題は、そのエキスパンダーが展開され、すべてのレコードが200のMaxHeightに適合しない場合(以下のコードを参照)、スクロールが表示されないことです。GridSplitterをExpanderの下に移動すると表示されますが、追加のアクションなしで表示するにはどうすればよいですか?

    <Grid >
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="4"></RowDefinition>
        <RowDefinition Height="Auto" MaxHeight="200"></RowDefinition>
        <RowDefinition Height="4"></RowDefinition>
        <RowDefinition Height="*"></RowDefinition>
    </Grid.RowDefinitions>

    <StackPanel Grid.Row="0" Orientation="Horizontal" Margin="0,3">           
 ...
    </StackPanel>

...
    <Expander Grid.Row="2" IsExpanded="False" Header="Gathered File History">
 ...
    </Expander>

    <GridSplitter Grid.Row="3"
                  Height="4"
                  Background="Gray"
                  HorizontalAlignment="Stretch"></GridSplitter>

    <Expander Grid.Row="4" IsExpanded="True" Header="Data Analysis:  Detail Queries">
        <TabControl x:Name="Items" >
 ...
        </TabControl>
    </Expander>

    <GridSplitter Grid.Row="5"
                  Height="4"
                  Background="Gray"
                  HorizontalAlignment="Stretch"></GridSplitter>

    <Expander Grid.Row="6" IsExpanded="True" Header="Source Detail Records">
 ...
    </Expander>
</Grid>
4

1 に答える 1

0

@DavidShochetあなたは原因について正しいです。これは、グリッドの自動サイズがコンテンツサイズに制限されているために発生します。そのため、タブが大きくなるとグリッド行も大きくなりますが、DockPanelはその親サイズに制限されます。そのため、最大サイズを200に設定する必要があります。

于 2013-01-02T18:42:49.130 に答える