使用GridView组件在StackPanel内部构建StackPanel

时间:2012-10-31 15:40:15

标签: c# gridview windows-8 stackpanel hittest

我需要在StackPanel Vertical中构建类似StackPanel Horizo​​ntal的东西,其中包含许多可变宽度的按钮(但总结的宽度是固定的)。

我自己做了它确实非常好......但是当我尝试用VS2012 GroupedView生成的GridView页面回复结果时很糟糕。

<GridView
    x:Name="itemGridView"
    AutomationProperties.AutomationId="ItemGridView"
    AutomationProperties.Name="Grouped Items"
    Grid.RowSpan="2"
    Padding="116,137,40,46"
    ItemsSource="{Binding Source={StaticResource groupedItemsViewSource}}"
    ItemTemplate="{StaticResource PalinsestoTemplate}"
    SelectionMode="None"
    IsSwipeEnabled="False"
    IsItemClickEnabled="True"
    ItemClick="ItemView_ItemClick">

    <GridView.ItemsPanel>
        <ItemsPanelTemplate>                        
            <VirtualizingStackPanel Orientation="Vertical" IsHitTestVisible="False"/>
        </ItemsPanelTemplate>
    </GridView.ItemsPanel>
    <GridView.GroupStyle>
        <GroupStyle>
            <GroupStyle.HeaderTemplate>
                <DataTemplate>
                    <Grid Margin="10,5,0,0">
                        <Button
                            AutomationProperties.Name="Group Title"
                            Click="Header_Click"
                            Style="{StaticResource TextPrimaryButtonStyle}" >
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="{Binding Nome}" Margin="3,-7,10,10" Style="{StaticResource GroupHeaderTextStyle}" />
                                <TextBlock Text="{StaticResource ChevronGlyph}" FontFamily="Segoe UI Symbol" Margin="0,-7,0,10" Style="{StaticResource GroupHeaderTextStyle}"/>
                            </StackPanel>
                        </Button>
                    </Grid>
                </DataTemplate>
            </GroupStyle.HeaderTemplate>
            <GroupStyle.Panel>
                <ItemsPanelTemplate>
                    <StackPanel Orientation="Horizontal" Margin="0,0,80,0" IsHitTestVisible="False" />
                </ItemsPanelTemplate>
            </GroupStyle.Panel>
        </GroupStyle>
    </GridView.GroupStyle>
</GridView>

上面是我的代码,但问题是内部每个项目的minimum hitTest area将破坏固定的汇总宽度。我该如何解决这个问题?

0 个答案:

没有答案