原理は次のとおりです。
それは、ダブルクリックのイベントですので、つまり、同時にそれは、選択イベント、IsSelectedのツリービューアイテムにつながった。真のための特定のトリガー値のプロパティを設定し、この値はCSのページでイベントメソッドをダブルクリックすることができるかどうかを判断するには。
コードXAML:
< グリッド> < ツリービュー> < TreeView.Resources > < スタイルTargetTypeに= "ツリービューアイテム" > < Style.Triggers > < トリガプロパティ= "IsSelected" 値= "真" > < セッタープロパティ= "BorderThickness" 値= "1" / > </ トリガ> </ Style.Triggers > </ スタイル> </ TreeView.Resources > < ツリービューアイテムのヘッダー= "AAAAA" MouseDoubleClick = "TreeViewItem_MouseDoubleClick" > < ツリービューアイテムヘッダ= "BBBBB" MouseDoubleClick = "TreeViewItem_MouseDoubleClick" > < ツリービューアイテム ヘッダー= "CCC" MouseDoubleClick = "TreeViewItem_MouseDoubleClick" /> </ ツリービューアイテム> </ ツリービューアイテム> </ ツリービュー> < / グリッド>
コードCS
プライベートボイドTreeViewItem_MouseDoubleClick(オブジェクト送信者、MouseButtonEventArgs E)
{
ツリービューアイテムのようなツリービューアイテムツリービューアイテム=差出人。
もし(treeviewItem.BorderThickness ==新しい厚さ(1))
{
MessageBox.Show(treeviewItem.Header.ToString())。
= falseをtreeviewItem.IsSelected。
//無駄に他のコード
// e.Handled =はtrue。
//treeviewItem.AddHandler(TreeViewItem.MouseDoubleClickEvent、(MouseButtonEventHandler)TreeViewItem_MouseDoubleClick、TRUE)。
}
}
オリジナルのスクリーンショット
今すぐ結果
*******************************************
他の方法が繰り返されないようにするには一方で、なぜ知らない当分の間、他のソリューションがある、とするかどうかをトリガします。
まだ慎重に情報を確認し、ソースコードを表示する必要があることが表示されます。
私は、これは本当に良い質問ああ言わなければなりません。
私は、拡散を防ぐことができますのAddHandlerメソッドを使用して思ったが、(笑)に影響しませんでした。