Reputation: 277
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?
Upvotes: 0
Views: 1907
Reputation: 70142
The ListBox
generates a container of type ListBoxItem
for each item. 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
. For example, using Linq to VisualTree:
TextBlock txt = lbi.Descendants<TextBlock>().Single() as TextBlock;
Upvotes: 5