Wpf 三向绑定(双向绑定中的两个)。可能吗?

Wpf 三向绑定(双向绑定中的两个)。可能吗?,wpf,binding,master-detail,Wpf,Binding,Master Detail,我不熟悉数据绑定,所以这个问题可能看起来相当愚蠢。 我使用Xceed WPF Toolkit的DataGridControl,我认为它的用法与DataGrid控件非常相似。我打算将DataGridControl SelectedItem绑定到网格内容。相关控件和对象变量包括: GridKaryawan --> DataGridControl Grid --> without name, for displaying details karyawans --> Observabl

我不熟悉数据绑定,所以这个问题可能看起来相当愚蠢。 我使用Xceed WPF Toolkit的DataGridControl,我认为它的用法与DataGrid控件非常相似。我打算将DataGridControl SelectedItem绑定到网格内容。相关控件和对象变量包括:

GridKaryawan --> DataGridControl
Grid --> without name, for displaying details
karyawans --> ObservableCollection<BiodataKaryawan> --> collection of business objects
selKaryawan --> (intended to be) the selected business object
* The business object "BiodataKaryawan" has already implemented INFC.
GridKaryawan-->DataGridControl
不带名称的网格-->用于显示详细信息
karyawans-->ObservableCollection-->业务对象集合
selKaryawan-->(打算成为)所选业务对象
*业务对象“BiodataKaryawan”已经实现了INFC。
到目前为止,我一直在做(仅显示相关部分):


....
....
在代码隐藏处:

    public ObservableCollection<BiodataKaryawan> karyawans { get; set; }
    public BiodataKaryawan selKaryawan { get; set; }
公共可观测集合karyawans{get;set;} 公共BiodataKaryawan selKaryawan{get;set;} 在网格上:

<Grid DataContext="{Binding Path=selKaryawan, Mode=TwoWay}">
    <Grid.ColumnDefinitions>
       <ColumnDefinition Width="Auto" />
       <ColumnDefinition />
       ....
       ....
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
       ....
       ....
    </Grid.RowDefinitions>

    <Label Grid.Row="0">Nama:</Label>
    <Label Grid.Row="1">Panggilan:</Label>
    ....
    ....

    <TextBox Grid.Column="1" Grid.Row="1" x:Name="txtNama" Text="{Binding Nama}"/>
    <TextBox Grid.Column="1" Grid.Row="2" x:Name="txtPanggilan" Text="{Binding Panggilan}" />
    ....
    ....
</Grid>

....
....
....
....
非农产品市场准入:
庞吉兰:
....
....
....
....
我已成功将DataGridControl.SelectedItem绑定到网格。但是我想在代码后面使用一个“selKaryawan”对象绑定它们,因为表单还支持创建新的“BiodataKaryawan”,我打算使用一个按钮“createnew”将一个新的BiodataKaryawan对象分配给selKaryawan。 但是绑定失败了。当我在datagrid中选择一行时,详细信息并不像我将其绑定到“GridKaryawan.SelectedItem”时那样显示。我哪里出错了?还是有可能


提前感谢您的回答。

我认为您需要在codebehind中实现INotifyPropertyChanged,并在selKaryawan属性的setter中引发PropertyChanged事件

<Grid DataContext="{Binding Path=selKaryawan, Mode=TwoWay}">
    <Grid.ColumnDefinitions>
       <ColumnDefinition Width="Auto" />
       <ColumnDefinition />
       ....
       ....
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
       ....
       ....
    </Grid.RowDefinitions>

    <Label Grid.Row="0">Nama:</Label>
    <Label Grid.Row="1">Panggilan:</Label>
    ....
    ....

    <TextBox Grid.Column="1" Grid.Row="1" x:Name="txtNama" Text="{Binding Nama}"/>
    <TextBox Grid.Column="1" Grid.Row="2" x:Name="txtPanggilan" Text="{Binding Panggilan}" />
    ....
    ....
</Grid>