2012-02-20 26 views
0

私はViewModelにクラスPersonの配列を持っており、テーブルにその名前を表示したいと思います。私はチェックボックス付きの列も持っています。これは私のビューの一部です:DataTemplateを非表示/表示

<ListView ItemsSource="{Binding Persons}"> 
    <ListView.View> 
     <GridView> 
      <GridViewColumn Width="40"> 
       <GridViewColumn.CellTemplate> 
        <DataTemplate> 
         <CheckBox 
          ......................... 
          .... some logic here .... 
          ......................./> 
        </DataTemplate> 
       </GridViewColumn.CellTemplate> 
      </GridViewColumn> 
      <GridViewColumn Width="140" 
          Header="Name" 
          DisplayMemberBinding="{Binding Path=Name}" /> 
     </GridView> 
    </ListView.View> 
</ListView> 

にはどうすればIsSelectionAllowedブール変数の値に応じて/非表示のチェックボックス列を表示することができます。

答えて

1

使用スタイル:

<Style x:Key="CheckBoxStyle" TargetType="{x:Type Control}"> 
     <Setter Property="Visibility" Value="Visible"/> 
     <Style.Triggers> 
      <DataTrigger Binding="{Binding IsSelectionAllowed}" Value="False"> 
       <Setter Property="Visibility" Value="Hidden"/> 
      </DataTrigger> 
     </Style.Triggers> 
    </Style> 

がで取り付けます?

<CheckBox Style="{StaticResource CheckBoxStyle}" 
         ......................... 
         .... some logic here .... 
         ......................./> 
+0

をそれは私には動作しませんでした:( – shtkuh

+0

あなたはリソースにスタイルを入れました –

+0

はい、私はグリッドにあなたのコードのコピー&ペーストをしました。リソース – shtkuh