<ListBox Name="Listbox" SelectionChanged="BaseGoodsCategorylb_SelectionChanged"
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" Foreground="Black" ></TextBlock>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
private void Listbox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
ProductClass productClass = BaseGoodsCategorylb.SelectedItem as ProductClass;
//我怎样修改我点击哪一项的样式,比如,ListBox显示四项,依次是 学习,旅游,爬上,看海,这四项字体默认是黑色的,比如我点击学习,学习的字体变成红色,当我在点击旅游时,要求除旅游字体是红色外,其余三项都变成默认的黑色,怎么做?提前感谢!
}
<ListBox > <ListBox.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding Name}" Foreground="{Binding RelativeSource={RelativeSource AncestorType=ListBoxItem,Mode=FindAncestor},Path= Foreground}" ></TextBlock> </DataTemplate> </ListBox.ItemTemplate> <ListBox.Resources> <Style TargetType="{x:Type ListBoxItem}"> <Style.Triggers> <Trigger Property="IsSelected" Value="True"> <Setter Property="Foreground" Value="Red"/> </Trigger> </Style.Triggers> </Style> </ListBox.Resources> </ListBox>
有问题可以 通过博客联系我
不行,这些代码通不过,直接报错
Foreground="{Binding RelativeSource={RelativeSource AncestorType=ListBoxItem,Mode=FindAncestor},Path= Foreground}"
<ListBox.Resources>
<Style TargetType="{x:Type ListBoxItem}">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Foreground" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
</ListBox.Resources>
给你提供一个思路(我都是如此解决这类问题的:-)):
可在Item数据源中添加一个IsSelected属性,然后ItemTemplete通过这个属性来改变外观就可以了。
不太懂,可不可以写几句代码,谢谢!