内部 DataGrid とのバインドに問題があります。バインディングは、DataGrid の「アカウント」では機能しますが、「レコード」では機能しません。2 番目の Datagrid に DataGrid.RowDetailsTemplate を使用しています
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<DataGrid ItemsSource="{Binding AccountList}" AutoGenerateColumns="False" x:Name="Account">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding AccountNumber}" Header="Account Number" FontSize="16"/>
<DataGridTextColumn Binding="{Binding Name}" Header="Name" FontSize="16"/>
</DataGrid.Columns>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<DataGrid ItemsSource="{Binding RecordList,Mode=TwoWay}" AutoGenerateColumns="False" x:Name="Record" IsSynchronizedWithCurrentItem="True">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding RecordNumber}" Header="Record Number" FontSize="16"/>
<DataGridTextColumn Binding="{Binding Name}" Header="Name" FontSize="16"/>
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
</Grid>
<Grid Grid.Row="1">
<TextBlock Text="Account Number:"> <TextBox Text="{Binding ElementName=Account, Path=SelectedItem.AccountNumber}" x:Name="ANr"/>
<TextBlock Text="Record Number:"> <TextBox Text="{Binding ElementName=Record, Path=SelectedItem.RecordNumber}" x:Name="RecordText"/>
</Grid>
エラーメッセージ:
System.Windows.Data Error: 4 : Cannot find source for binding with reference 'ElementName=Record'. BindingExpression:Path=SelectedItem.RecordNumber; DataItem=null; target element is 'TextBox' (Name='RecordText'); target property is 'Text' (type 'String')
最初の TextBox は問題なくバインドされます。2 つ目はバインドに失敗します。
ありがとうございました