更改数据绑定列表框中某些项目的颜色
在我的 Windows Phone 7 应用程序中,有一个列表框,其中包含 50 位作者的列表。 我想以白色前景(或黑色,具体取决于主题)显示列表框的前 5 项,其余项以灰色显示。
<ListBox x:Name="AuthorsListBox" ItemsSource="{Binding}" Grid.Row="1" >
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding Name}"
Name="{Binding Id}" Width="320" Height="70"
TextWrapping="Wrap" TextAlignment="Left"
Margin="0,0,0,10" FontSize="30"
ManipulationCompleted="Author_ManipulationCompleted"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
这是我的 C# 代码:
AuthorsListBox.ItemsSource = AuthorsList.OrderBy(a => a.Name);
Inside my Windows Phone 7 application I have a list box with a list of 50 authors.
I want to display the first 5 items of my list box with a white foreground (or black depending of theme), and the rest of them in gray.
<ListBox x:Name="AuthorsListBox" ItemsSource="{Binding}" Grid.Row="1" >
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding Name}"
Name="{Binding Id}" Width="320" Height="70"
TextWrapping="Wrap" TextAlignment="Left"
Margin="0,0,0,10" FontSize="30"
ManipulationCompleted="Author_ManipulationCompleted"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Here is my C# code:
AuthorsListBox.ItemsSource = AuthorsList.OrderBy(a => a.Name);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
将 Textblock 的
Foreground
属性绑定到所需的颜色。或者连接到指示器并使用转换器根据指示器选择颜色。Bind the
Foreground
property of the Textblock to the desired colour. Or to an indictor and use a converter to select the colour based on the indicator.我将向列表框中添加一个“Onitemdatabound”,然后在该方法中设置颜色
I would add an "Onitemdatabound" to the listbox and then set the colour in that method