2012-04-07 4 views
1

Как установить видимость TextBlock внутри ListBox. НапримерКак установить видимость TextBlock, связанного с ListBox?

<Grid> 
    <ListBox Name="myList"> 
    <ListBox.ItemTemplate> 
      <DataTemplate> 
      <TextBloxk Name="txtBlock1" Text="{Binding} First Name"> 
      <TextBloxk Name="txtBlock2" Text="{Binding} Last Name"> 
      </DataTemplate> 
    </ListBox.ItemTemplate> 
    </ListBox> 
</Grid> 

во время выполнения, я хочу, чтобы установить видимость либо текстовых блоков либо видимого или свернуты.

Как я могу это сделать, или я могу?

+0

Во время выполнения я хочу сделать как 'txtBlock1.visibility = Visibility.Collapsed'. – wafers

ответ

2

Вы можете использовать BooleanToVisibilityConverter (или другой, настраиваемый конвертер), чтобы изменить видимость в соответствии со значением привязки.

+0

Это только в соответствии со значением привязки? Например, я хочу установить видимость TextBlock на основе параметров приложения (IsolatedStorageSettings) 'ShowFirstName = settings [" ShowFN "] ... if (ShowFirstName! = True) ... txtBlock1.visible = False' Что-то вроде что – wafers

+0

Если вы хотите сделать это в XAML, используя конвертер, он должен быть значением привязки (но не обязательно из текущего ListBoxItem - проверить Binding ElementName). – MarcinJuraszek

+0

Я думаю, что ресурс больше не доступен. (http://schemas.microsoft.com/netfx/2007/xaml/presentation) произошла ошибка. – wafers

0

Используйте VisualTreeHelper, если вам нужно выполнить итерацию по каждому из элементов в ListBox. Или перевяжите ListBox с новым набором данных и используйте предложение MarcinJuraszek об использовании конвертера (определенно, более простой выбор :))

+0

Спасибо, Евгений, я использовал его подход :) – wafers

Смежные вопросы