我来找你,因为我有一个问题(令人惊讶?(。
我目前正在使用包含多个对象的"矩阵"集合。当我在datagrid中显示它时,我需要一个其他数据,即一个复选框(在数据杂志中选择我的行(。你能帮我吗?
private ObservableCollection<Matrix> _Matrice;
public ObservableCollection<Matrix> Matrice
{
get
{
return _Matrice;
}
set
{
if (value != _Matrice)
{
_Matrice = value;
RaisePropertyChanged(nameof(Matrice));
}
}
}
Matrice = new ObservableCollection<Matrix>(await _dataService.GetMatrice(idMatrice));
" Matrice"包含我的数据(日期,名称等(如果我在数据杂志中显示它,则将显示所有数据的显示。我只想添加一个" bool"以使用一个复选框来选择网格行(例如,如果我检查第1行,第3行,第7行,我会将它们添加到矩阵列表中(。
但是,尽管我进行了研究,但我在"添加"新数据的过程中有点丢失。诸如" foreach line>添加此布尔"之类的东西。
非常感谢!
您可以在datagrid列中添加" datagridcheckboxcolumn"定义:
<DataGrid ItemsSource="{Binding Matrice}>
<DataGrid.Columns>
<DataGridCheckBoxColumn Header="Check"/>
<DataGridTextColumn Header="Name" Binding="{Binding name}"/>
</DataGrid.Columns>
</DataGrid>
您的类矩阵是每行呈现的。
成为每一行的数据台面。
您将使用DataGridCheckBoxColumn添加公共布尔属性并绑定到该矩阵。
如果矩阵实际上是模型类,并且您无法更改其属性,则添加另一个类。MatrixViewModel。添加属性与您的模型匹配,以及BOOL。将数据从模型类复制到ViewModel。如果有很多属性,则可以使用反射或自动化。