2012-04-07 96 views
1

如何在ListBox中设置TextBlock可见性。例如如何设置绑定到ListBox的TextBlock的可见性?

<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' MarcinJuraszek的建议。 – wafers 2012-04-07 10:47:14

回答

2

可以使用BooleanToVisibilityConverter(或其他自定义转换器)根据结合的值来更改可见性。

+0

它只是根据绑定值?例如,我想根据应用程序设置(IsolatedStorageSettings)'ShowFirstName = settings [“ShowFN”] ... if(ShowFirstName!= true)... txtBlock1.visible = False'来设置TextBlock的可见性。 – wafers 2012-04-07 10:58:40

+0

如果您想在使用转换器的XAML中执行该操作,它必须是一个绑定值(但不是当前ListBoxItem的必需项 - 检查Binding ElementName)。 – MarcinJuraszek 2012-04-07 11:00:10

+0

我认为该资源不再可用。 (http://schemas.microsoft.com/netfx/2007/xaml/presentation)有一个错误。 – wafers 2012-04-07 11:12:18

0

使用VisualTreeHelper如果你需要遍历每个ListBox中的项目。或者,重新绑定列表框到新的数据集,并使用在使用转换器(绝对是一个容易的选择:))

+0

感谢尤金,我用他的方法:) – wafers 2012-04-07 12:26:57

相关问题