2016-07-21 53 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