为什么标题没有保存在数据库中 - WPF/Telerik/RadGridView?

Why title is not saved in the database - WPF/Telerik/RadGridView?

我将这个 RadComboBox 放在 RadGridViewDataColumn 中:

<tk:RadGridView
    Name="grdPeople"
    ItemsSource="{Binding People}"
    SelectedItem="{Binding SelectedPerson, Mode=TwoWay}">       

    <tk:GridViewDataColumn 
        DataMemberBinding="{Binding PeopleDetails}"
        UniqueName="PeopleDetails"
        Header="People">    

        <tk:GridViewDataColumn.CellTemplate>
            <TextBlock 
                Text="{Binding Title}"/>
        </tk:GridViewDataColumn.CellTemplate>

        <tk:GridViewDataColumn.CellEditTemplate>

            <tk:RadComboBox 
                DisplayMemberPath="TitleValue"
                SelectedItem="{Binding Path=People.Title, Mode=TwoWay}"
                ItemsSource="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type tk:RadGridView}}, Path=DataContext.Titles}"/>

        </tk:GridViewDataColumn.CellEditTemplate>

    </tk:GridViewDataColumn>
</tk:RadGridView>

我知道问题来自混合 RadGridView 和 window 数据上下文 objects,但不确定,为什么标题没有保存在数据库中?

相反,如果我用普通的TextBox替换RadComboBox:

<TextBox
     Width="50"
     Text="{Binding Title}"
     TextAlignment="Left"/>

在文本框中键入值就可以了,将标题保存在数据库中。

我猜是,在 RadGridView 的单元格编辑模板中混合了各种组件?

只需将 SelectedItem 绑定的路径从 'People.Title' 更改为 'Title'

 <tk:RadComboBox 
            DisplayMemberPath="TitleValue"
            SelectedItem="{Binding Path=Title, Mode=TwoWay}"
            ItemsSource="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type tk:RadGridView}}, Path=DataContext.Titles}"/>