首页 新闻 会员 周边 捐助

windows phone 8 listbox

0
悬赏园豆:50 [待解决问题]

<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显示四项,依次是 学习,旅游,爬上,看海,这四项字体默认是黑色的,比如我点击学习,学习的字体变成红色,当我在点击旅游时,要求除旅游字体是红色外,其余三项都变成默认的黑色,怎么做?提前感谢!
        }

菜鸟_001的主页 菜鸟_001 | 初学一级 | 园豆:70
提问于:2013-10-16 15:44
< >
分享
所有回答(2)
0
 <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>
li-peng | 园豆:954 (小虾三级) | 2013-10-16 17:34

有问题可以 通过博客联系我

支持(0) 反对(0) li-peng | 园豆:954 (小虾三级) | 2013-10-16 17:36

不行,这些代码通不过,直接报错

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>

支持(0) 反对(0) 菜鸟_001 | 园豆:70 (初学一级) | 2013-10-17 09:02
0

给你提供一个思路(我都是如此解决这类问题的:-)):

可在Item数据源中添加一个IsSelected属性,然后ItemTemplete通过这个属性来改变外观就可以了。

孤狼晖 | 园豆:289 (菜鸟二级) | 2013-10-17 07:36

不太懂,可不可以写几句代码,谢谢!

支持(0) 反对(0) 菜鸟_001 | 园豆:70 (初学一级) | 2013-10-17 09:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册