【发布时间】:2015-06-20 20:49:06
【问题描述】:
我目前正在创建一个充当任务跟踪器的 Windows 8.1 应用商店应用。我目前的问题是我想更改列表视图中列出的项目以表示它们的优先级。我想通过更改背景颜色来做到这一点。 IE:红色 = 高,蓝色 = 中,绿色 = 低。
ListBoxItems 本身遵循一个模板,下面是我想要基于 x:Name=priorityBind 的更改的相关文本字段。
<StackPanel Orientation="Horizontal">
<TextBlock Text="Priority: " Margin="10, 0, 10, 10" />
<TextBlock x:Name="priorityBind" Text="{Binding Path=Priority}" Margin="10, 0, 10, 10"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Notes: " Margin="10, 0, 10, 10" />
<TextBlock Text="{Binding Path=Notes}" Margin="10, 0, 10, 10"/>
</StackPanel>
</StackPanel>
</Grid>
</DataTemplate>
我能找到的所有示例似乎都是使用过时版本的商店应用程序完成的。设置触发器似乎是建议的路线,但它似乎不再适用于更新版本。下面是我的 ListView 代码的 sn-p。如果优先级文本框的值为“Low”,我该如何修改它以使其仅将背景颜色更新为绿色?
<ListView x:Name="eventsListView" Grid.Row="1" Grid.Column="1"
ItemTemplate="{StaticResource eventTemplate}">
<ListView.Resources>
<Style TargetType="ListViewItem">
<Style.Setters>
<Setter Property="BorderBrush"
Value="White" />
<Setter Property="BorderThickness"
Value="5"/>
<Setter Property="Background"
Value="Green"/>
</Style.Setters>
</Style>
</ListView.Resources>
</ListView>
【问题讨论】:
标签: xaml listview colors winrt-xaml listviewitem