C# 在数据绑定WPF树视图上修改单个树视图项,而不修改数据源

C# 在数据绑定WPF树视图上修改单个树视图项,而不修改数据源,c#,wpf,mvvm,treeview,treeviewitem,C#,Wpf,Mvvm,Treeview,Treeviewitem,我有一个MVVM WPF应用程序,它将TreeView数据绑定到viewmodel类。它本质上是一个文件浏览器。我想在层次结构中添加“添加新文件夹”的功能。为了实现所需的功能,我尝试做的只是在我的datatemplate中将Textblock切换为可编辑的TextBox。这就是我的数据模板的外观: <TreeView.ItemTemplate> <HierarchicalDataTemplate ItemsSource="{Binding Childre

我有一个MVVM WPF应用程序,它将TreeView数据绑定到viewmodel类。它本质上是一个文件浏览器。我想在层次结构中添加“添加新文件夹”的功能。为了实现所需的功能,我尝试做的只是在我的datatemplate中将Textblock切换为可编辑的TextBox。这就是我的数据模板的外观:

<TreeView.ItemTemplate>
            <HierarchicalDataTemplate ItemsSource="{Binding Children}">
                <StackPanel Name="tv_itempanel"
                            Orientation="Horizontal" 
                            Margin="2">
                    <Image Source="{Binding Icon}" Margin="4"/>
                    <TextBlock Name="treeitem_tblock" Margin="4" Text="{Binding Name}"/>
                    <TextBox Width="200" Visibility="Collapsed" Name="treeitem_tbox"/>
                </StackPanel>
            </HierarchicalDataTemplate>
</TreeView.ItemTemplate>


问题是我无法修改单个treeview项,因为treeview是数据绑定的。有什么想法吗?感谢

bool IsEditable
属性添加到VM对象,并将
文本框的可见性绑定到is(使用转换器将布尔值转换为
可见性
枚举)。这样,您就不需要直接操作
树视图项
,只需将数据对象标记为可编辑,它就会自然地流向您的视图。

谢谢,几分钟前我有一位朋友告诉我这个方法。这对我想做的事情非常有效。