2016-07-21 50 views
1

我发现this问题+回答我的问题在这里计算器,但对我来说它不是完全清楚在哪里改变样式的ListView在UWP

ListViewItemPresenter 

我试过很多东西,但好像我找不到对我自己:(

这里是我的这个框架XAML代码:!

<Page.Resources> 
    <DataTemplate x:Key="ItemListDataTemplate" x:DataType="data:Item"> 
     <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"> 
      <Image Name="image" Source="{x:Bind CoverImage}" HorizontalAlignment="Center" Width="150" /> 
      <StackPanel Margin="20,20,0,0"> 
       <TextBlock Text="{x:Bind Name}" HorizontalAlignment="Left" FontSize="16" Name="NameTextBlock"/> 
       <TextBlock Text="{x:Bind Description}" HorizontalAlignment="Left" FontSize="10" Name="DescriptionTextBlock"/> 
       <StackPanel Orientation="Horizontal"> 
        <TextBlock Text="{x:Bind Price}" HorizontalAlignment="Left" FontSize="26" Name="PriceTextBlock"/> 
        <TextBlock Text="€" FontSize="26" Name="Currency" Margin="5,0,0,0"/> 
       </StackPanel> 
      </StackPanel> 
     </StackPanel> 
    </DataTemplate> 
</Page.Resources> 
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
    <ListView ItemsSource="{x:Bind Items}" 
       ScrollViewer.VerticalScrollBarVisibility="Hidden" 
       ItemClick="ListView_ItemClick" 
       IsItemClickEnabled="True" 
       ItemTemplate="{StaticResource ItemListDataTemplate}" 
       > 
    </ListView> 
</Grid> 

有人可以帮我请我们非常感谢您的宝贵时间

回答

0

只需在列表视图中添加您的DataTemplate。

将它放在ItemTemplate属性中。

<ListView ItemsSource="{x:Bind Items}" 
     ScrollViewer.VerticalScrollBarVisibility="Hidden" 
     ItemClick="ListView_ItemClick" 
     IsItemClickEnabled="True" > 
    <ListView.ItemTemplate> 
     <DataTemplate> 
     <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"> 
      <Image Name="image" Source="{x:Bind CoverImage}" HorizontalAlignment="Center" Width="150" /> 
      <StackPanel Margin="20,20,0,0"> 
       <TextBlock Text="{x:Bind Name}" HorizontalAlignment="Left" FontSize="16" Name="NameTextBlock"/> 
       <TextBlock Text="{x:Bind Description}" HorizontalAlignment="Left" FontSize="10" Name="DescriptionTextBlock"/> 
       <StackPanel Orientation="Horizontal"> 
        <TextBlock Text="{x:Bind Price}" HorizontalAlignment="Left" FontSize="26" Name="PriceTextBlock"/> 
        <TextBlock Text="€" FontSize="26" Name="Currency" Margin="5,0,0,0"/> 
       </StackPanel> 
      </StackPanel> 
     </StackPanel> 
    </DataTemplate>  
    </ListView.ItemTemplate> 

</ListView> 
1

有两种方法在你的页面编辑ListViewItemPresenter

  1. 您可以从here复制XAML模板(第一XAML代码块下方默认样式)。将它添加到您的Page.ResourcesListViewItemPresenter位于这些XAML代码中,您可以编辑其属性,并且此样式将应用于此页面的ListView的所有项目。 评论:不要将x:Key添加到这种风格。

  2. 添加ListViewItem控制到你的页面如下图所示:

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
        <ListViewItem></ListViewItem> 
    </Grid> 
    

    文档Outline->选择ListViewItem->编辑模板 - >副本编辑: enter image description here

取出x:Key生成的样式资源的属性,以便此样式将应用于所有ListViewItem。然后,您可以在生成的XAML资源中编辑ListViewItemPresenter