2011-09-15 13 views
1

私はUserControlを持っています.DataTemplateのListViewコントロールがDataTemplateにあります。CheckBoxは、ShowCheckBoxというUserControlのプロパティに基づいて表示するよう定義しています。 x:Name="This"
そしてより:WPTのUserControlでDataTemplateのコントロールを表示/非表示

<Visibility={Binding ElementName=This, Path=MyProperty}> 

あなたの財産と仮定すると、これは、ユーザーコントロールを呼び出し

<UserControl x:Class="WpfApplication15.UserControl2" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
      mc:Ignorable="d" 
      d:DesignHeight="300" d:DesignWidth="300"> 
    <ListView> 
     <ListView.View> 
      <GridView> 
       <GridViewColumn Header="Name" Width="500"> 
        <GridViewColumn.CellTemplate> 
         <DataTemplate> 
          <CheckBox Visibility="{Binding ??? this.ShowCheckBox ??? }" /> 
         </DataTemplate> 
        </GridViewColumn.CellTemplate> 
       </GridViewColumn> 
      </GridView> 
     </ListView.View> 
    </ListView> 
</UserControl> 

答えて

3

BooleanToVisibilityConverterRelativeSourceBindingを使用することができます。

<UserControl x:Class="WpfApplication15.UserControl2" 
      ...> 
    <UserControl.Resources> 
     <BooleanToVisibilityConverter x:Key="Converter" /> 
    </UserControl.Resources> 
    <ListView> 
     <ListView.View> 
      <GridView> 
       <GridViewColumn Header="Name" Width="500"> 
        <GridViewColumn.CellTemplate> 
         <DataTemplate> 
          <CheckBox Visibility="{Binding 
             RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, 
             Path=ShowCheckBox, 
             Converter={StaticResource Converter}}" /> 
         </DataTemplate> 
        </GridViewColumn.CellTemplate> 
       </GridViewColumn> 
      </GridView> 
     </ListView.View> 
    </ListView> 
</UserControl> 
+0

大変感謝しています! – unruledboy

+0

「必要」という言葉は、むしろ不正確です... –

+0

私はそう思います...... – Ray

1

は、どのように私は私のようないくつかのことを行うことができ、ユーザーコントロールへの参照を取得します可視性のタイプです(ブールの場合は、別の答えでBoolToVisibilityConverterを使用する必要があります)

関連する問題