我想将图像列表绑定到 DataGrid.RowDetailsTemplate 内的堆栈面板。我的班级结构如下:
public class A
{
private List<MyImage> _images = new List<MyImage>();
public List<MyImage> Images { get; set; }
public string Name { get; set; }
public void AddImage(byte[] src) { ... }
}
public class MyImage
{
public BitmapImage Image { get; set; }
public byte[] RawData { get; set; }
}
在我的主要课程中,我有一个 A 列表:
public List<A> AList { get; set; }
dataGrid1.ItemsSource = AList;
dataGrid1.DataContext = AList;
我想要做的就是在 DataGridTextColumn 中显示元素的 Name 属性,以及在 RowDetails 中的 Images 属性中存储的所有图像。
我的xml是:
<DataGrid name="dataGrid1">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Path=Name}"/>
</DataGrid.Columns>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<StackPanel DataContext="{Binding Path=Images}">
<Image Source="{Binding Path=RawData}"/>
</StackPanel>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
我所看到的只是一张图像,尽管图像中存储了更多图像。有任何想法吗?