Wpf TreeView双向绑定在较低级别失败

Wpf TreeView双向绑定在较低级别失败,wpf,treeview,Wpf,Treeview,好的,我有一个自定义的TreeListView,它继承自TreeView并有一些列 我的应用程序中有两个文本属性的自定义对象;键值和描述。我正在尝试将列中的文本框绑定到这些属性,这些属性在初始加载时非常有效,但是在我想要更改它们时效果不太好。它的工作原理与顶层项目的工作原理完全相同(更改基本对象上的值),但对于低于该值的任何项目,在更改textbox值时,它不会更改基础值。我是WPF的新手,很抱歉,如果这是基本的,但我已经搜索了很长时间,找不到一个似乎适合我的答案 TreeListView的XA

好的,我有一个自定义的TreeListView,它继承自TreeView并有一些列

我的应用程序中有两个文本属性的自定义对象;键值和描述。我正在尝试将列中的文本框绑定到这些属性,这些属性在初始加载时非常有效,但是在我想要更改它们时效果不太好。它的工作原理与顶层项目的工作原理完全相同(更改基本对象上的值),但对于低于该值的任何项目,在更改textbox值时,它不会更改基础值。我是WPF的新手,很抱歉,如果这是基本的,但我已经搜索了很长时间,找不到一个似乎适合我的答案

TreeListView的XAML是:

<r:TreeListView Name="TLV_Main" Margin="0,0,0,41" ItemsSource="{Binding Keynotes}" Style="{StaticResource TLV_Standard}">
    <r:TreeListView.Columns>
        <GridViewColumn Header="Key" >
            <GridViewColumn.CellTemplate>
                <DataTemplate>
                    <TextBox Text="{Binding Path=KeyValue, Mode=TwoWay}" ContextMenu="{StaticResource Ctx_All}" ></TextBox>
                </DataTemplate>
            </GridViewColumn.CellTemplate>
        </GridViewColumn>
        <GridViewColumn Header="Description" Width="{Binding ElementName=TLV_Main, Path=ActualWidth, Converter={StaticResource DescriptionColumnConverter}}">
            <GridViewColumn.CellTemplate>
                <DataTemplate>
                    <TextBox Text="{Binding Path=Description, Mode=TwoWay}" TextWrapping="Wrap"></TextBox>
                </DataTemplate>
            </GridViewColumn.CellTemplate>
        </GridViewColumn>
        <GridViewColumn Width="30">
            <GridViewColumn.Header>
                <Image Source="pack://application:,,,/Resources/Icon_Comment.png" SnapsToDevicePixels="False" Stretch="None"></Image>
            </GridViewColumn.Header>
            <GridViewColumn.CellTemplate>
                <DataTemplate>
                    <Image Source="pack://application:,,,/Resources/Icon_Comment.png" SnapsToDevicePixels="False" Stretch="None" Visibility="{Binding Converter={StaticResource BoolToVisibility}, Path=HasActiveComments}" MouseLeftButtonUp="CommentClick"></Image>
                </DataTemplate>
            </GridViewColumn.CellTemplate>
        </GridViewColumn>
        <GridViewColumn Width="30">
            <GridViewColumn.Header>
                <Image Source="pack://application:,,,/Resources/Icon_Link.png" SnapsToDevicePixels="False" Stretch="None"></Image>
            </GridViewColumn.Header>
            <GridViewColumn.CellTemplate>
                <DataTemplate>
                    <Image Source="pack://application:,,,/Resources/Icon_Link.png" SnapsToDevicePixels="False" Stretch="None" Visibility="{Binding Converter={StaticResource BoolToVisibility}, Path=HasLinks}" MouseLeftButtonUp="LinkClick"></Image>
                </DataTemplate>
            </GridViewColumn.CellTemplate>
        </GridViewColumn>
    </r:TreeListView.Columns>
    <r:TreeListView.ItemTemplate>
        <HierarchicalDataTemplate ItemsSource="{Binding ChildNotes}">
        </HierarchicalDataTemplate>
    </r:TreeListView.ItemTemplate>
</r:TreeListView>


有人知道为什么这样做不正确吗?

Ok实际上,进一步调查后发现,双向绑定在描述列(第二列)上正常工作,但在键值(第一列)上无效。混乱…显示底层数据结构(项的类)。另外:更具体地说“不起作用”,它是如何不起作用的,发生了什么,预期会发生什么。也检查一下。