首先,我在这里和网上搜索,我找到了很多解决方案如何在 WPF 的列表框中更改所选项目的背景颜色,但在 Windows 商店应用程序中却没有。这个框架有点不同,我无法找到任何解决方案。
我用这个:http ://social.msdn.microsoft.com/Forums/windowsapps/en-US/91575930-2058-413a-99de-f3b31c74dfd9/change-itemtemplate-forground-when-listbox-is-focused?forum=页面末尾的winappswithcsharp是非常好的解决方案,但他像这样设置项目模板:
ItemTemplate="{StaticResource DataTemplate1}"
但我的列表框有数据模板,所以我不知道如何通过 setter 或任何其他方式设置 ItemTemplate 样式。
我的列表框:
<ListBox x:Name="lbMenu" ItemsSource="{Binding MyDataForLunchGrid}" Tapped="lbMenzaMenu_Tapped" Style="{StaticResource ListBoxStyle1}">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="Style" Value="{StaticResource ListBoxItemStyle1}"/>
</Style>
</ListBox.ItemContainerStyle >
<ListBox.ItemTemplate >
<DataTemplate>
<Grid>
<TextBlock Foreground="#FF19536E" x:Name="tbMenu" Text="{Binding launchItemName}"/>
<TextBlock x:Name="tbMenuNumber" Text="{Binding launchNumber}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
现在,当我按下列表框中的任何项目时,它都有深紫色(默认)颜色,而且看起来很糟糕。