2012-02-24 3 views
0

Например: есть ListBox:Как изменить свойство видимости элемента списка в wp7?

<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 свойства видимости игрового программно?

ответ

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; 
Смежные вопросы