2012-04-07 92 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

相關問題