2016-09-12 23 views
2

我正在使用gridview显示其标题和内容的项目列表,如下所示。默认边框在Windows Phone中使用Gridview时显示uwp

<Grid> 
          <GridView ItemsSource="{Binding Source={StaticResource src}}"> 
           <GridView.GroupStyle> 
            <GroupStyle> 
             <GroupStyle.HeaderTemplate> 
              <DataTemplate> 
               <StackPanel Orientation="Horizontal" Background="#2a2621" Width="400" Height="35" Margin="-10,0,-10,0"> 
                <TextBlock x:Name="atistType" Width="200" 
                   Text="{Binding RegionalName}" 
                   Foreground="White" 
                   FontWeight="ExtraBold" FontSize="22" Margin="10,0,0,0"/> 
                <Image Margin="110,0,10,0" 
                  Tag="{Binding RegionalName}" 
                  Tapped="RedirectToImageListing" 
                  Source="Assets\Right-arrow.png" 
                  Height="25"></Image> 
               </StackPanel> 
              </DataTemplate> 
             </GroupStyle.HeaderTemplate> 
            </GroupStyle> 
           </GridView.GroupStyle> 
           <GridView.ItemsPanel> 
            <ItemsPanelTemplate> 
             <ItemsWrapGrid Orientation="Horizontal" MaximumRowsOrColumns="2"/> 
            </ItemsPanelTemplate> 
           </GridView.ItemsPanel> 
           <GridView.ItemTemplate> 
            <DataTemplate> 
             <Grid Margin="0,5,0,5" Tag="{Binding AlbumId}" 
                Tapped="RedirectToImageListOrGridView" > 
              <Grid> 
               <Image Width="{Binding ListingWidth}" Source="Assets/PlaceHolder.jpg"></Image> 
               <Border BorderThickness="1" BorderBrush="White"> 
                <Image Width="{Binding ListingWidth}" 
                Source="{Binding SmallImage}"></Image> 
               </Border> 
              </Grid>            
             </Grid> 
            </DataTemplate> 
           </GridView.ItemTemplate> 
          </GridView> 
         </Grid> 

我能够完美地显示数据。 但是,我的担心是从某个行显示像边框的地方。 您可以检查截图。 enter image description here

如截图所示,对于第一个图像,只有一条线显示为边框。 有没有办法去除那个。 我无法从边界即将到来的地方找到。 谢谢。

+1

是那个具有焦点的项目?在'GridView'的内部,它使用了一个'ListViewItemPresenter',它具有默认绑定到主题资源的'FocusBorderBrush'和'FocusSecondaryBorderBrush'属性。 –

+0

如果您删除此默认边框,您会如何知道此项目被选中?下面的答案可以解决你的问题,但我只是好奇,也许你会需要其他效果来指示选择状态? –

+0

我已经添加了一些白色的边框,如图所示。无论如何,下面的答案工作正常。感谢你们的努力和帮助。 –

回答

1

试试这个

<GridView> 
<GridView.ItemContainerStyle> 
    <Style TargetType="GridViewItem"> 
     <Setter Property="Margin" Value="0,0,4,4" /> 
     <Setter Property="Background" Value="Transparent"/> 
     <Setter Property="TabNavigation" Value="Local"/> 
     <Setter Property="IsHoldingEnabled" Value="True"/> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="GridViewItem"> 
        <ContentPresenter /> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 
</GridView.ItemContainerStyle> 

Taken from here

+0

谢谢你,@Uwpbeginner。它工作正常。 –