【发布时间】:2016-04-25 13:36:39
【问题描述】:
我想在两种情况下启用TreeView 中的项目编辑:
- 当用户在
ContextMenu的TreeView中单击Edit按钮时 - 当用户在 TreeView 的选中项上单击
F2时。
我的TreeView:
<TreeView ItemsSource="{Binding FooColl}" >
<TreeView.Resources>
<DiscreteObjectKeyFrame x:Key="proxy" Value="{Binding}"/>
<HierarchicalDataTemplate DataType="{x:Type treeViewModel:NodeViewModel}"
ItemsSource="{Binding Children}">
<StackPanel Orientation="Horizontal">
<Image Source="treeNode.png" />
<TextBlock Text="{Binding FooValue}">
<TextBlock.ContextMenu>
<ContextMenu>
<MenuItem Header="Edit"/>
</ContextMenu>
</TextBlock.ContextMenu>
</TextBlock>
</StackPanel>
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>
我的第一个想法是在HierarchicalDataTemplate 中使用TextBox 而不是TextBlock。但是,TextBox 的编辑模式是由MouseClick 启用的。因此,这不是我想要的。
对我该怎么做有什么想法吗?
【问题讨论】:
-
你可以使用 IsReadOnly 属性吗?默认情况下它是假的,当用户点击编辑时,你把它变成真
-
@Amine 是的,我可以使用
IsReadonly。