2012-02-20 74 views
0

我有ViewModel中的Person类的数组,我想在表中显示他们的名字。我也列了复选框。这是我的看法部分:Hide/Show 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 2012-02-20 11:29:36

+0

你把作风资源 – 2012-02-20 11:34:52

+0

是的,我没有你的代码复制和粘贴到网格?的.resources – shtkuh 2012-02-20 11:42:32