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

Kam*_*lin 0 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>
Run Code Online (Sandbox Code Playgroud)

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

Col*_*inE 5

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

ListBoxItem lbi = lb.ItemContainerGenerator.ContainerFromIndex(0) as ListBoxItem
lbi.Visibility = Visibility.Collapsed;
Run Code Online (Sandbox Code Playgroud)

如果你想访问,TextBlock你需要导航的可视树ListBoxItem.例如,使用Linq到VisualTree:

TextBlock txt = lbi.Descendants<TextBlock>().Single() as TextBlock;
Run Code Online (Sandbox Code Playgroud)