如何在wp7中更改列表框项目的可见性属性?

时间:2012-02-24 08:37:40

标签: c# silverlight windows-phone-7

例如: 有一个列表框:

<ListBox Margin="24,107,12,28" Name="lb">
  <TextBlock Text="Text" TextWrapping="Wrap" FontSize="22" Visibility="Collapsed" />
  <TextBlock Text="Text2" TextWrapping="Wrap" FontSize="22" Visibility="Collapsed" />
  <TextBlock Text="Text3" TextWrapping="Wrap" FontSize="22" Visibility="Collapsed" />
</ListBox>

如何以编程方式更改TextBlocks的可见性属性?

1 个答案:

答案 0 :(得分:5)

ListBox为每个项目生成ListBoxItem类型的容器。您可以按如下方式访问它:

ListBoxItem lbi = lb.ItemContainerGenerator.ContainerFromIndex(0) as ListBoxItem
lbi.Visibility = Visibility.Collapsed;

如果您想要访问TextBlock,则需要浏览ListBoxItem的可视树。例如,使用Linq to VisualTree

TextBlock txt = lbi.Descendants<TextBlock>().Single() as TextBlock;