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)
現在の私のデータグリッドでは、最初の2つの列が完全に表示されていますが、リストには「コレクション」(実際のデータではない)と表示されます。これは予想どおりだったと思います。
これは今の私の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番目の列に独自のアイテムのソースを持つ別のデータグリッドを配置することでしたが、3番目の列を(今日のようなテキストとは対照的に)データグリッドにする方法がわからないようです。誰かがこれを行う方法を知っていますか(いくつかの例は恐ろしいでしょう)。
または、これがこの問題を解決するための正しい方法ではない場合は、他のアイデアも大歓迎です。
ありがとう、