如何将子实体详细信息字段绑定到文本框?

时间:2013-01-28 14:27:47

标签: wpf entity-framework data-binding telerik

我的RadGridView通过父实体的navigation属性绑定到子记录。用户可以编辑网格中的记录。现在我还想允许编辑网格外的子记录。在网格中选择记录后,您可以使用文本框对其进行编辑。我似乎无法为每个文本框找到正确的绑定语句。我的工作孩子网格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数据库。 通过父导航属性编辑子详细信息实体的正确绑定语句是什么?

提前致谢。

答案:安德烈的回应让我找到了解决方案。我只需要将我的文本框绑定到网格的SelectedItem(而不是绑定到子实体)。我将网格名称作为DataContext添加到我的文本框中:

<TextBox Name="ChildFieldTextBox" Text="{Binding Path=ChildFieldName, Mode=TwoWay, ValidatesOnExceptions=true, NotifyOnValidationError=true}" DataContext="{Binding ElementName=childGrid, Path=SelectedItem, Mode=TwoWay}"  />

这些链接有助于:

Herehere.

1 个答案:

答案 0 :(得分:0)

Here是一篇可以帮助您的文章。它描述了如何将控件绑定到DataGrid所选项的属性。

或者您可以将SelectedChildEntityNav属性添加到ViewModel。 RadGridView声明如下所示:

<telerik:RadGridView Name="childGrid" IsSynchronizedWithCurrentItem="True" AutoGenerateColumns="False"
ItemsSource="{Binding ChildEntitiesNav, Mode=TwoWay}"
SelectedItem="{Binding SelectedChildEntityNav, Mode=TwoWay}">

之后,您就可以将文本框绑定到SelectedChildEntityNav的属性。