【发布时间】:2017-02-27 12:46:11
【问题描述】:
在 UWP Xaml 中,我有一个 ListView。在 ListView 中,我使用带有堆栈面板的 DataTemplate, 当 selectedItem 为 True 时,我想更改堆栈面板的背景颜色 我确实想在 Xaml 中做这件事
换句话说,
如果选中,则更改 Listview 项目的 DataTemplate 我确实想在 Xaml 中做这件事
Xaml 中的代码:
<ListView.ItemTemplate >
<DataTemplate x:Name="mydt">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="40" />
</Grid.ColumnDefinitions>
<StackPanel x:Name="MyStack">
<ContentControl Content="{Binding rtb}"
q:APGolAyah.MyProperty="{Binding AyahNo}" />
<TextBlock Text="{Binding Text}"
TextWrapping="Wrap" />
</StackPanel>
<Image Grid.Column="1"
Source="{Binding HezbNo,Converter={StaticResource HezbNoToIconConverter}}"
Width="25" />
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
【问题讨论】:
-
很多resources on the net关于如何实现这一点。
-
@Michael 是的,但似乎 uwp xaml 不支持样式中的触发器
-
抱歉,没有彻底调查这是否适用于 UWP。话虽如此,我相信还有其他人面对the same limitation。
-
您可以通过重新设置列表样式并更改选择颜色来做到这一点。或者您可以使用转换器在数据模板级别执行此操作。
标签: c# windows-10-universal uwp-xaml