我有几个实例,我希望在数据网格的单个列中有多个控件。
例如,我有一个数据集,其中包含具有匹配描述、图像源、时间戳、地理标记等的图像。我想用一列中的缩略图和文本框或标签中的大部分数据来显示此信息。我拥有的其他数据集需要文本框/复选框或文本框/组合框。
当我尝试添加第二个控件时,我收到一条错误报告,指出属性“VisualTree”设置了不止一次。
<DataGridTemplateColumn Header="Data" Width="100">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Label Name="Description" Content="{Binding Desc}"></Label>
<Label Name="Camera" Content="{Binding Camera}"></Label>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
最佳答案
我相信 DataTemplate 应该只有一个元素 - 所以你应该使用一个面板来包含这些元素,像这样说:
<DataGridTemplateColumn Header="Data" Width="100">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Label Name="Description" Content="{Binding Desc}"></Label>
<Label Name="Camera" Content="{Binding Camera}"></Label>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
您当然可以使用 WrapPanel、Grid 或任何其他您喜欢的东西 - StackPanel 似乎正是您想要的。
关于wpf - 如何使用 wpf 向数据网格的 DataGridTemplateColumn 添加多个控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4744020/