我试图更改列表视图中所选项目的数据模板,我发现的所有内容都过于复杂或过时。 我尝试过使用行为,但它仍然无法正常工作。这就是我追求的目标
<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 这有可能吗?
感谢
答案 0 :(得分:0)
在ListView
中,您需要将ItemTemplateSelector
设置为DataTemplateSelector
的实施。在上面的代码中,您已设置ItemTemplate
假设TMP1
引用了您的DataTemplateSelctor
,它看起来像<ListView x:Name="listview" ItemTemplateSelector="{StaticResource TMP1}"
...