3

GridViewWindows 8 メトロ アプリケーションでグループ化を使用しています。 VariableSizedWrapGridinItemsPanelTemplateがあり、プロパティをバインドしたいのですが、MaximumRowsOrColumns正しくバインドされていません。

ここに私のXAMLがあります

<GridView  ItemsSource="{Binding Source={StaticResource groupeddata}}" >
    <GridView.ItemTemplate>
        <DataTemplate>
            <Grid Width="120" Height="150" >
                <!--some controls here binded correctly.-->
            </Grid>
        </DataTemplate>
    </GridView.ItemTemplate>
    <GridView.GroupStyle>
        <GroupStyle>
            <GroupStyle.HeaderTemplate>
                <DataTemplate>
                    <Grid Margin="1,0,0,6">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock Text="{Binding maxGridCoulmns}"></TextBlock>
                            <!--work ok here -->
                            <TextBlock   Foreground="Black" Padding="0,0,0,20" Text="{Binding headerText}"  />
                        </StackPanel>
                    </Grid>
                </DataTemplate>
            </GroupStyle.HeaderTemplate>
            <GroupStyle.Panel >
                <ItemsPanelTemplate>
                    <VariableSizedWrapGrid    Orientation="Horizontal"  MaximumRowsOrColumns="{Binding maxGridCoulmns}"  Margin="0,0,80,0"/>
                    <!--not binding  here -->                         
                </ItemsPanelTemplate>
            </GroupStyle.Panel>
        </GroupStyle>
    </GridView.GroupStyle>
</GridView>
4

1 に答える 1

6

実際のグループ オブジェクトを取得するには、DependencyProperty を ICollectionViewGroup にキャストする必要があります。

コードでは- XAMLでは、バインド パスvar actualGroup = (group as Windows.UI.Xaml.Data.ICollectionViewGroup).Group;にプレフィックスを追加するだけです。Group.

したがって、XAML では、次のようにバインドを編集するだけです。

<ItemsPanelTemplate>
    <VariableSizedWrapGrid
        Orientation="Horizontal"
        MaximumRowsOrColumns="{Binding Group.maxGridCoulmns}"
        Margin="0,0,80,0"/>
</ItemsPanelTemplate>
于 2012-08-29T04:27:11.997 に答える