gpt4 book ai didi

wpf - 使用模板和样式的可编辑 TreeView 节点

转载 作者:行者123 更新时间:2023-12-04 00:04:29 25 4
gpt4 key购买 nike

我正在尝试在 WPF 中创建一个可编辑的树 View 节点。我读了 this article .但他忽略了最关键的部分作为“家庭作业”,并以现在丢失的图片的形式给出了暗示。这使他的整个博客文章对我毫无用处。否则我认为它非常好。

我有以下树 View 模板,我省略了属性。

            <HierarchicalDataTemplate>
<StackPanel>
<Image/>
<TextBlock/>
</StackPanel>
</HierarchicalDataTemplate>

创建一个新的数据模板
            <DataTemplate x:Key="editableName">
<TextBox/>
</DataTemplate>

使用以下触发器在选择TreeView中的节点时更改模板。
<Style TargetType="{x:Type TreeViewItem}">    
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="SOMEPATH!!!" Value="{StaticResource editableName}" />
</Trigger>
</Style.Triggers>
</Style>

我需要在 HierarchicalDataTemplate/StackPanel/TextBlock.HeaderTemplate 中插入数据模板的路径是什么?从 TreeViewItem 中的这个触发器。

还是我以错误的方式解决这个问题?

非常感谢您的任何帮助

最佳答案

        <TreeView x:Name="MyTreeView">
<TreeView.Resources>
<DataTemplate x:Key="NormalTemplate">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding ID}" Margin="3"/>
<TextBlock Text="-" Margin="3"/>
<TextBlock Text="{Binding Name}" Margin="3"/>
</StackPanel>
</DataTemplate>
<DataTemplate x:Key="EditTemplate">
<TextBox Text="{Binding Name}"/>
</DataTemplate>
</TreeView.Resources>
<TreeView.ItemTemplate>
<HierarchicalDataTemplate
ItemsSource="{Binding Team}">
<ContentPresenter Content="{Binding}">
<ContentPresenter.Style>
<Style TargetType="{x:Type ContentPresenter}">
<Setter Property="ContentTemplate"
Value="{StaticResource
NormalTemplate}"/>
<Style.Triggers>
<DataTrigger
Binding="{Binding IsSelected,
RelativeSource={RelativeSource
FindAncestor,
AncestorType={x:Type TreeViewItem}}}"
Value="True">
<Setter Property="ContentTemplate"
Value="{StaticResource
EditTemplate}" />
</DataTrigger>
</Style.Triggers>
</Style>
</ContentPresenter.Style>
</ContentPresenter>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>

关于wpf - 使用模板和样式的可编辑 TreeView 节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9580583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com