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

时间:2012-07-17 21:53:53

标签: wpf treeview

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

我的应用程序中有两个文本属性的自定义对象; KeyValue和描述。我正在尝试将列中的文本框绑定到这些属性,这些属性在初始加载时非常有用,但是当我想要更改它们时却不太好。它完全按照它应该(更改基础对象的值)的高级项目工作,但对于低于该值的任何内容,它在更改文本框值时不会更改基础值。我是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>

任何人都可以理解为什么这不会正常工作?

0 个答案:

没有答案