私の RadGridView は、親エンティティのナビゲーション プロパティを介して子レコードにバインドされています。ユーザーはグリッド内のレコードを編集できます。ここで、グリッド外の子レコードの編集も許可したいと思います。グリッドでレコードを選択した後、テキスト ボックスを使用して編集できます。各テキスト ボックスに適切なバインディング ステートメントが見つからないようです。私の作業中の子グリッド XAML は次のようになります。
<telerik:RadGridView Name="childGrid" ItemsSource="{Binding ChildEntitiesNav, Mode=TwoWay}" IsSynchronizedWithCurrentItem="True" AutoGenerateColumns="False">
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn DataMemberBinding="{Binding ChildFieldOne}" Header="Child Field One"/>
<telerik:GridViewDataColumn DataMemberBinding="{Binding ChildFieldTwo}" Header="Child Field Two" />
各グリッド列に対応するテキスト ボックスを追加しましたが、データを表示できません。私はこれらのテキストボックスバインディングステートメントを試しました:
Text="{Binding Path=ChildEntitiesNav.ChildFieldOne}
とText="{Binding Path=ChildFieldOne}
最初に WPF と Entity Framework データベースを使用しています。親ナビゲーション プロパティを介して子詳細エンティティを編集するための正しいバインディング ステートメントはどれですか?
前もって感謝します。
ANSWER: Andrey の回答により、私は解決策にたどり着きました。テキスト ボックスを (子エンティティにバインドするのではなく) グリッドの SelectedItem にバインドする必要がありました。グリッド名を DataContext としてテキスト ボックスに追加しました。
<TextBox Name="ChildFieldTextBox" Text="{Binding Path=ChildFieldName, Mode=TwoWay, ValidatesOnExceptions=true, NotifyOnValidationError=true}" DataContext="{Binding ElementName=childGrid, Path=SelectedItem, Mode=TwoWay}" />
これらのリンクは役に立ちました: