WPF和MVVM:添加控件自动生成列表视图

问题描述:

我要创建List View这样的:WPF和MVVM:添加控件自动生成列表视图

enter image description here

(虽然List View已经拥有多选功能,不需要复选框,我要添加他们不知道是什么,如果持有Shift键有可能选择多个项目谁也低,用户体验)

目前,我List View只包括IDFull Name列。数据通过根据MVVC概念创建的绑定显示。

<ListView Name="DataTable" ItemsSource="{Binding Path=people}"> 
    <ListView.View> 
     <GridView> 
      <GridViewColumn Width="50px"> 
       <!-- This is column for checkboxes but it don't should be in header --> 
      </GridViewColumn> 
      <GridViewColumn Header="ID" 
          DisplayMemberBinding="{Binding PersonID, UpdateSourceTrigger=PropertyChanged}"> 
      </GridViewColumn> 
      <GridViewColumn Header="FullName" 
          DisplayMemberBinding="{Binding FullName, UpdateSourceTrigger=PropertyChanged}" /> 
      <GridViewColumn Width="50px"> 
       <!-- This is column for "Edit" buttons but it don't should be in header --> 
      </GridViewColumn> 
      <GridViewColumn Width="50px"> 
       <!-- This is column for "Delete" buttons but it don't should be in header --> 
      </GridViewColumn> 
     </GridView> 
    </ListView.View> 
</ListView> 

如何在每个非标题行中添加复选框和按钮?

+1

在这里看到:https://*.com/questions/33756171/how-to-add-a-checkbox-column-to-a- listview-in-wpf-and-the-state-of-it – Clemens

+1

您可能正在寻找[DataGridTemplateColumn](https://msdn.microsoft.com/en-us/library/system.windows.controls.datagridtemplatecolumn (v = vs.110).aspx) – Filburt

+0

@Clemens,看起来像是。我会试试看。感谢您的参考! –

你应该声明CellTemplate有复选框:

<GridViewColumn Width="50px"> 
    <GridViewColumn.CellTemplate> 
     <DataTemplate> 
      <CheckBox IsChecked="{Binding MyProperty}"/> 
     </DataTemplate> 
    </GridViewColumn.CellTemplate> 
</GridViewColumn> 
+0

它会!谢谢你的回答! –