私はちょうど2つの場合にTreeView
内の項目を編集可能にしたいと思います:編集項目またはホットキー
- ユーザーが
TreeView
- たときにユーザーがクリックの
ContextMenu
にEdit
ボタンでクリックしたときに、ツリービューの選択項目にF2
を追加します。
マイTreeView
のXAML:
<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プロパティを使用することができます
:
をそしてF2キー押下を処理するために、あなたはこれを試すことができますか? defautによってそれは間違っているので、ユーザーが編集時にクリックするとtrueに変わります。 – Amine
@Amine yeah、私は 'IsReadonly'を使うことができます。 – StepUp
問題は解決しましたか? – Amine