C# 在选择时更改listview中文本块的字体颜色
我正在尝试更改listview项选中时listview项的文本块的颜色。listview项的数据模板如下所示:C# 在选择时更改listview中文本块的字体颜色,c#,xaml,windows-8,datatemplate,listviewitem,C#,Xaml,Windows 8,Datatemplate,Listviewitem,我正在尝试更改listview项选中时listview项的文本块的颜色。listview项的数据模板如下所示: <DataTemplate x:Key="DataTemplate"> <Grid Height="47" VerticalAlignment="Stretch" Width="{Binding tbIng.Width}"> <TextBlock x:Name="tbIng" FontFamily="{StaticResource
<DataTemplate x:Key="DataTemplate">
<Grid Height="47" VerticalAlignment="Stretch" Width="{Binding tbIng.Width}">
<TextBlock x:Name="tbIng" FontFamily="{StaticResource Neutra2Text-Book}" FontSize="23" Text="50g of butter" HorizontalAlignment="Left" VerticalAlignment="Center" Padding="2"/>
</Grid>
</DataTemplate>
我试图使用blend来查找我需要更改的内容,使用states窗口,但我似乎找不到textblock。如果我右键单击listview->edit template->edit current,那么我将获得数据模板,但无法使用状态窗口。这是一个Windows8应用程序
我想在xaml中实现这一点,而不是代码我可以想到两条路径:
- 您可以使用独立的全局/公共变量并绑定到它。因此,当
发生更改时,ViewState
和DataTemplate
背景将根据此变量改变颜色TextBlock
- 将变量传入
对象本身即可。例如,如果您绑定到表中的行,只需添加另一个值为Binding
background的列并绑定到它TextBlock
在StandardStyles.xaml文件中添加以下代码并更改所需颜色:
<SolidColorBrush x:Key="ListViewItemSelectedForegroundThemeBrush" Color="Red" />