突出显示GridView项目

时间:2014-01-30 17:59:52

标签: xaml windows-8 winrt-xaml

我从一个Grouped Items页面模板开始,让我的数据以组的形式显示。我在这些项目周围添加了一些边距以改善间距,但现在当我将鼠标悬停在这些项目上时,边距区域显示为突出显示。我确信对于xaml大师来说这是一个简单的方法。请协助!!

这是我的标记:

        <GridView.ItemTemplate>
            <DataTemplate>
                <!--  ******************* here is my margins *******************  -->
                <Border BorderBrush="LightGray" BorderThickness="2" Margin="0,0,20,20">
                    <Grid HorizontalAlignment="Left" Width="390" Height="190">
                        <Grid.Background>
                            <ImageBrush ImageSource="/Assets/default.png" Stretch="None"/>
                        </Grid.Background>
                        <StackPanel Orientation="Horizontal" VerticalAlignment="Top">
                            <Image VerticalAlignment="Top" Stretch="None" Source="{Binding ImageUrl}" Margin="10,10,0,0"/>
                            <StackPanel MaxWidth="270">
                                <TextBlock Text="{Binding Summary}"/>
                                <TextBlock Text="{Binding Brand}" />
                                <TextBlock Text="{Binding Detail}" TextWrapping="Wrap" />
                            </StackPanel>
                        </StackPanel>
                    </Grid>
                </Border>
            </DataTemplate>
        </GridView.ItemTemplate>

1 个答案:

答案 0 :(得分:1)

您的ItemTemplate只会填充GridViewItem Style的现有样式模板,如果您查看该链接中显示的默认模板,您会看到显示的Rectangle名为“PointerOverBorder”(通过PointerOver状态下的VisualStateManager,其Fill设置为ListViewItemPointerOverBackgroundThemeBrush。

您可以进入模板(右键单击,编辑模板)并将其删除,或添加边距,或使其透明或多个选项。或者只是将实例上的画笔资源覆盖为透明或类似的东西;

<blah.Resources>
  <SolidColorBrush x:Key="ListViewItemPointerOverBackgroundThemeBrush" Color="Transparent" />
</blah.Resources>

希望这有帮助。