0

リストビューがあり、列幅を手動でサイズ変更すると、リストビュー全体が大きくなります。しかし、列を縮小すると、リストビューは幅のままです。リストビューも列幅で縮小される可能性はありますか?

状況の簡単な例を次に示します。

<Grid>
        <Grid.Resources>
            <XmlDataProvider x:Key="Data">
                <x:XData>
                    <Data xmlns="">
                        <Item ID="1"/>
                        <Item ID="2"/>
                        <Item ID="3"/>
                    </Data>
                </x:XData>
            </XmlDataProvider>
        </Grid.Resources>

        <ScrollViewer>
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>

            <ListView DataContext="{Binding Source={StaticResource Data}, XPath=/Data}"
                      ItemsSource="{Binding XPath=Item}" SelectionMode="Single">                  
                <ListView.View>
                    <GridView>
                        <GridViewColumn Header="ID" DisplayMemberBinding="{Binding XPath=@ID}"/>
                    </GridView>
                </ListView.View>
            </ListView>

            <TextBlock Text="Test" Grid.Column="1"/>
            </Grid>
        </ScrollViewer>
    </Grid>
4

1 に答える 1

0

私は解決策を見つけました。それはおそらく最高ではありませんが、私にとってはうまくいきます。列の間にグリッドスプリッターを追加し、列幅を * に設定しました。

<Grid>
        <Grid.Resources>
            <XmlDataProvider x:Key="Data">
                <x:XData>
                    <Data xmlns="">
                        <Item ID="1"/>
                        <Item ID="2"/>
                        <Item ID="3"/>
                    </Data>
                </x:XData>
            </XmlDataProvider>
        </Grid.Resources>

        <ScrollViewer>
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="3"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>

            <ListView DataContext="{Binding Source={StaticResource Data}, XPath=/Data}"
                      ItemsSource="{Binding XPath=Item}" SelectionMode="Single">                  
                <ListView.View>
                    <GridView>
                        <GridViewColumn Header="ID" DisplayMemberBinding="{Binding XPath=@ID}"/>
                    </GridView>
                </ListView.View>
            </ListView>

            <GridSplitter Grid.Column="1" Width="3" VerticalAlignment="Stretch" HorizontalAlignment="Center" Background="Transparent" ResizeBehavior="PreviousAndNext"/>


            <TextBlock Text="Test" Grid.Column="2"/>
        </Grid>
        </ScrollViewer>
    </Grid>
于 2012-09-11T07:22:49.117 に答える