尝试访问DataGrid单元内部的StackPanel

时间:2019-03-28 22:38:38

标签: c# wpf xaml datagrid stackpanel

现在,我陷入了尝试访问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>

0 个答案:

没有答案