我有定义我的 itemsource 的当前代码(我想向用户显示的内容):
public class View
{
public string Name { get; set; }
public string Quantity { get; set; }
public List<Item> items { get; set; }
}
public class Item
{
public string ItemName { get; set; }
public double ItemQuantity { get; set; }
}
使用的数据集:
List<View> myViews
所以你最终得到如下数据:
ViewA 50 {ItemA 50, ItemB 10, ItemC 20)
ViewB 10 {ItemC 10, ItemD 10, ItemE 10)
现在在我的数据网格中,它完美地显示了前两列,但列表显示为“集合”(不是实际数据),我猜这是意料之中的。
这是我现在的 XAML
<DataGrid Grid.Row="2" Margin="0,146,0,350"
ItemsSource="{Binding myViews}"
AutoGenerateColumns="False" Height="104">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Width="*" FontSize="16"
Binding="{Binding Path=Name}" />
<DataGridTextColumn Header="Quantity" Width="*" FontSize="16"
Binding="{Binding Path=Quantity}" />
<DataGridTextColumn Header="Items" Width="*" FontSize="16"
Binding="{Binding Path=items}" />
</DataGrid.Columns>
</DataGrid>
我正在尝试找到一种向用户表示列表项的方法(如果这不是正确的方法,则在此数据网格中或其他方式中)。
我的想法是在第 3 列中实际上有另一个 Datagrid,它有自己的项目来源,但我似乎不知道如何使第 3 列成为 Datagrid(而不是像今天这样的文本)。有谁知道如何做到这一点(一些例子会很糟糕)。
或者,如果这确实不是解决此问题的正确方法,那么任何其他想法也将不胜感激。
谢谢,