现在,我陷入了尝试访问StackPanel
DataGrid
内部的Cell
的困境。
我的目标是基于StackPanel
内的另一个字段,以编程方式在DataGrid
内生成小图片(徽章)。
这是我对Column
的XAML ...
<DataGridTemplateColumn Width="*" x:Name="generatedBandges">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<!--<Image Source="..\..\Image\badge.png" />-->
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
我只是不知道如何到达那里,为每个Row
...生成徽章...
第一次编辑: 我尝试通过实现重复的图像并绑定宽度来解决此问题,但是我无法使其正常工作,并且仅当图像只有一行时才解决此问题(我需要更多行:()
代码我尝试过...
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Rectangle Height="15" Width="{Binding Badge}" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" >
<Rectangle.Fill>
<ImageBrush ImageSource="..\..\Image\sim.png" TileMode="Tile" ViewportUnits="Absolute" Viewport="0,0,15,15"/>
</Rectangle.Fill>
</Rectangle>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
是否可以绑定堆栈面板?因此,我可以向其中添加控件或类似的东西吗?
第二次修改: 因此,我已经尝试过...但是再次无法使其正常工作-可以使用帮助。
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ItemsControl ItemsSource="{Binding Items}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Image Source="..\..\Image\sim.png"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>