简体   繁体   English

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

[英]How can I change listbox item's visibility property in wp7?

For example: there is a listbox: 例如:有一个列表框:

<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>

How can I change TextBlocks's visibility properties programmatically? 如何以编程方式更改TextBlocks的可见性属性?

The ListBox generates a container of type ListBoxItem for each item. ListBox为每个项目生成类型为ListBoxItem的容器。 You can access it as follows: 您可以按以下方式访问它:

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

If you want access to the TextBlock you will need to navigate the visual tree of the ListBoxItem . 如果要访问TextBlock ,则需要导航ListBoxItem的可视树。 For example, using Linq to VisualTree : 例如,使用Linq到VisualTree

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM