Ich mag würde ein Element der Bearbeitung in TreeView
nur in zwei Fällen aktivieren:Bearbeiten Artikel in TreeView von ContextMenu oder HotKey
- , wenn ein Benutzer klickt auf
Edit
Taste inContextMenu
vonTreeView
- , wenn ein Benutzer klicken
F2
am ausgewählten Element von TreeView.
Meine XAML von 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>
Mein erster Gedanke war TextBox
statt TextBlock
in HierarchicalDataTemplate
zu verwenden. Der Bearbeitungsmodus TextBox
wird jedoch von MouseClick
aktiviert. Folglich ist es nicht, was ich will.
Irgendwelche Gedanken darüber, wie kann ich das tun?
Sie IsReadOnly-Eigenschaft verwenden können? durch defaut es ist falsch und wenn Benutzer auf Bearbeiten klickt, drehen Sie es auf True – Amine
@Amine yeah, ich kann 'IsReadonly' verwenden. – StepUp
Problem gelöst? – Amine