次のクラスがあります。
public class Order
{
public string OrderName { get; set; }
public List<Parts> PartsList { get; set; }
}
public class Parts
{
public string PartName { get; set; }
public double PartQuantity { get; set; }
}
私のコードでは、 Order オブジェクトのリストを作成します
List<Order> myOrders;
最初の要素が TextBox で OrderName を表示し、2 つ目が Datagrid でパーツのリストを表示する要素のスタック パネルを使用するなど、何らかの方法でこれらすべてをユーザーに表示したいと思いますか?
正直なところ、私はさまざまなことを試しています (使用するコントロールの種類に関する要件はありません) が、PartsList を正しく表示することはできません (何も表示されないか、ユーザーに「コレクション」が表示されます。
目標は、次のようなものを見ることです。
Order1 Part1 7
Part2 12
Order2 Part1 100
Part2 1
Part3 58
これは私が今日持っている XAML で、うまくいくと本当に思っていました。
<ItemsControl x:Name="visual"
ItemsSource="{Binding myOrders}"
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch"
Margin="0,397,37,31" Grid.Row="1" Height="172">
<ItemsControl.ItemTemplate>
<DataTemplate>
<ItemsControl ItemsSource="{Binding }"
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding OrderName}"
Margin="10" />
<ItemsControl ItemsSource="{Binding PartsList}"
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0"
Text="{Binding PartName}"
TextAlignment="Center" />
<TextBlock Grid.Column="1"
Text="{Binding PartQuantity}"
TextAlignment="Center" />
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
このコードの何が問題なのか、誰かわかりますか?