2012-04-07 14 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'のようにしたいと思います。 – wafers

答えて

2

BooleanToVisibilityConverter(または他のカスタムコンバータ)を使用して、バインディング値に従って可視性を変更することができます。

+0

バインディング値のみに従っていますか?たとえば、アプリケーション設定(IsolatedStorageSettings)に基づいてTextBlockの可視性を設定したいとします。 'ShowFirstName = settings [" ShowFN "] ... if(ShowFirstName!= true)... txtBlock1.visible = False'その – wafers

+0

XAMLでコンバーターを使用したい場合は、バインディング値でなければなりません(しかし、現在のListBoxItem - Check Binding ElementNameでは必要ありません)。 – MarcinJuraszek

+0

私はリソースがもう利用できないと思います。 (http://schemas.microsoft.com/netfx/2007/xaml/presentation)にエラーがあります。 – wafers

0

ListBox内の各項目を反復処理する必要がある場合は、VisualTreeHelperを使用します。または、ListBoxを新しいデータセットに再バインドし、MarcinJuraszekの提案を使用してコンバータを使用してください。

+0

ユージンに感謝、私は彼のアプローチを使用:) – wafers

関連する問題