我需要一个具有多行和 3 列的 DataGrid。现在DataGrid的每个单元格都是显示一些信息(6到8个参数)和一个按钮。单击此按钮将显示一个弹出窗口。
现在为了在 DataGrid 的单元格内显示数据,我需要正确对齐它们并且正在考虑使用 Grid。如何实现这一点。
另外,我如何在按钮的单击事件中知道单击了哪个单元格按钮?
请帮忙。
您可以将 DataGridTemplateColumn(s) 添加到 DataGrid,然后为该列定义常用数据模板:
<DataGrid.Columns>
<DataGridTemplateColumn Header="Foo" Width="SizeToCells">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid>
...
<Button Command="{Binding SomeCommand}" />
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGrid.Columns>
现在关于点击事件。将您的网格与项目源绑定。该源中的每个项目都必须是具有任何 ICommand 属性的视图模型。将此属性绑定到单元格模板中的按钮命令,您将获得它。