2012-02-20 92 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