我有一个WPF应用程序,其中包含一个Window,里面有一个DataGrid。在启动时,DataGrid完全为空,其列在运行时由代码创建。
我绑定到DataTable。第一个coloumn是单个文本字段。我需要再显示一行Cell,但是作为Stackpanel,它本身拥有一些UserControls。
实际上我正在尝试首先插入一个空白列作为我的StackPanel的占位符,然后将CodePanel从Code插入每个Cell。
不幸的是,由于某些原因,我没有让它运行。我不能把新的物品放到细胞中。请问有人帮帮我吗?
最诚挚的问候,
纳斯
答案 0 :(得分:1)
尝试并使用DataGridTemplateColumn
,然后您可以在每个单元格中放置一个堆栈面
答案 1 :(得分:1)
我建议通过XAML设计和填充数据网格。
firstColumn是您的第一个DataGridTextColumn
<DataGrid x:Name="myGrid" ItemsSource="{Binding YourItems}">
<DataGrid.Columns>
<DataGridTemplateColumn x:Name="userControlColumn" Header="Column1">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel>
<ns:YourCustomControl/>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn x:Name="firstColumn" Header="Columns2" Binding="{Binding YourDesiredProperty}"/>
</DataGrid.Columns>
</DataGrid>