1

このように、VariableSizedWrapGrid を含む GridView があります...

    <local:MyGridview    
        Padding="116,0,0,0"        
        x:Name="itemGridView"
        AutomationProperties.AutomationId="ItemGridView"
        AutomationProperties.Name="Grouped Items"
        Grid.Column="1"
        Grid.Row="1"
        SelectionMode="None"
        ItemTemplateSelector="{StaticResource templateSelector}"
        ItemsSource="{Binding Source={StaticResource groupedItemsViewSource}}" 
        IsItemClickEnabled="True"
        ItemClick="itemGridView_ItemClick">

        <GridView.ItemsPanel>
            <ItemsPanelTemplate>
                <VirtualizingStackPanel Orientation="Horizontal" Margin="0"/>
            </ItemsPanelTemplate>
        </GridView.ItemsPanel>

        <GridView.GroupStyle>
            <GroupStyle>
                <GroupStyle.HeaderTemplate>
                    <DataTemplate>
                        <Grid>
                            <TextBlock Text="{Binding Key}" Margin="3,-7,10,10" Style="{StaticResource GroupHeaderTextStyle}" />
                        </Grid>
                    </DataTemplate>
                </GroupStyle.HeaderTemplate>
                <GroupStyle.Panel>
                    <ItemsPanelTemplate>
                        <VariableSizedWrapGrid Orientation="Vertical" ItemWidth="1" ItemHeight="1" Margin="0,3,40,0" />
                    </ItemsPanelTemplate>
                </GroupStyle.Panel>
            </GroupStyle>
        </GridView.GroupStyle>

    </local:MyGridview>

このようなアイテムを表示する...

オレンジ色のタイルが青いタイルの下ではなく隣にくるように、アイテムを垂直ではなく水平に積み重ねたい

VariableSizedWrapGrid の Orientation を Horizo​​ntal に変更しようとしましたが、これが起こります....

私は本当にばかげたことをしていますか?

4

1 に答える 1

0

ItemWidth と ItemHeight を 1 に設定したのはなぜですか? コードから適切な ColumnSpan と RowSpan の値を設定していますか? ItemWidth と ItemHeight をもっと大きなもの、おそらく最小のアイテムのサイズに設定することをお勧めします。VariableSizedWrapGrid レイアウト アルゴリズムは完全ではありません。私のサンプルでは、​​小さなアイテムを必要に応じて水平に配置する場合とそうでない場合があります (VariableSizedWrapGrid の方向をまったく設定していません)。

于 2013-01-16T14:18:27.700 に答える