0
我有一個名爲「TextModel」的對象。我爲它定義了一個HierarchicalDataTemplate。如何獲取包含數據模板對象的邏輯樹項目
這樣的:
<HierarchicalDataTemplate DataType="{x:Type local:TextModel}"
ItemsSource="{Binding Children}">
<TextBlock x:Name="TextPresenter"
Text="{Binding Text}"
Style="{StaticResource TextModelStyleMouseOver}" />
</HierarchicalDataTemplate>
這TextModel在我的TreeView包含在每個樹型視圖。 而且,在代碼隱藏中,我使用VisualTreeHelper.HitTest來獲取我單擊的TreeViewItem,但它不會將TreeViewItem作爲HitTest結果之一。 HitTest的結果是:TextBlock(和Border,Grid和ScrollViewer) - 我定義的HierarchicalDataTemplate中的一個。
我試過使用LogicalTreeHelper.GetParent(textBlockFromTheHitTestResults),但它返回給我一個null。
感謝您的關注!
返回r.VisualHit-S就像我之前提到的: 的TextBlock,以及邊境線,網格和ScrollViewer中。 但有一些有趣的事實 - o實際上找到TreeViewItem,但隨後用r調用的HitTestResultCallback是Grid(上面寫的命中測試結果之一)。 所以我所做的就是將找到的o作爲TreeViewItem並保存在局部變量中,該變量將是您給我的此代碼的包裝方法的返回值。 –