更改列表视图selecteditem datatemplate UWP

时间:2017-08-23 12:16:35

标签: xaml uwp win-universal-app uwp-xaml

我试图更改列表视图中所选项目的数据模板,我发现的所有内容都过于复杂或过时。 我尝试过使用行为,但它仍然无法正常工作。这就是我追求的目标

<UserControl.Rescources>

  <DataTemplate x:DataType="dt" x:Key="notselected">
      <Grid>
       <Textblock Text="{Binding Title}" Foreground="White"/>
       <Image Source="ms-appx:///Assets/myimage.png"/>
     </Grid>
  </DataTemplate>

  <DataTemplate x:DataType="dt" x:Key="selected">
      <Grid>
       <Textblock Text="{Binding Title}" Foreground="Black"/>
       <Image Source="ms-appx:///Assets/myselectedimage.png"/>
     </Grid>
  </DataTemplate>

</UserControl.Rescources>


 <ListView x:Name="listview" ItemTemplate="{StaticResource TMP1}">
   <ListView.ItemContainerStyle>
       <StaticResource ResourceKey="ListViewItemStyle1"/>
   </ListView.ItemContainerStyle>

并且只是在选中时切换到TMP2 这有可能吗?

感谢

1 个答案:

答案 0 :(得分:0)

ListView中,您需要将ItemTemplateSelector设置为DataTemplateSelector的实施。在上面的代码中,您已设置ItemTemplate

假设TMP1引用了您的DataTemplateSelctor,它看起来像<ListView x:Name="listview" ItemTemplateSelector="{StaticResource TMP1}" ...