0

Datagrid があり、その行の詳細テンプレート内に別の Datagrid があります

<DataGrid Name="dataGridWorkOrders" ItemsSource="{StaticResource workorders}" >
<DataGrid.RowDetailsTemplate>
  <DataTemplate>
        <Border BorderThickness="0" Background="BlanchedAlmond" Padding="10">
        <DataGrid IsReadOnly="True" AutoGenerateColumns="False" ItemsSource="{Element=dataGridWorkOrders,path=selectedItem}">
  </DataGrid>
 </Border>

Workorders コレクションは次のようなものです。

class WorkOrders : ObservableCollection<WorkOrder>
    {
        public WorkOrders()
        {
            var orderList = OrderDetailsProvider.GetOrders() as List<WorkOrder>;

            orderList.ForEach(
                        order => this.Add(order));
        }

WorkorderClass には、プロパティとして公開される次のフィールドがあります。

 private string orderID;
 private int totalQuantity;
 private string status;
 private ObservableCollection<Schedule> scheduleCollection;

2 番目のデータグリッドで、現在選択されているデータグリッドのScheduleCollectionにバインドしたい

4

1 に答える 1

1

のデータ コンテキストはRowDetailsTemplate、選択されたアイテムである必要があります。したがって、次のようにバインドする必要がありますscheduleCollection

<DataGrid IsReadOnly="true" ItemsSource="{Binding scheduleCollection}">

(...そして、を使用するかAutoGenerateColumns="true"、手動で追加しますDataGridColumns

于 2012-11-23T06:37:28.677 に答える