当前位置: 首页 > 知识库问答 >
问题:

如何获取包含数据模板对象的逻辑树项

郭凡
2023-03-14

我有一个名为"TextModel"的对象。我为它定义了一个层次数据模板。

像这样:

<HierarchicalDataTemplate DataType="{x:Type local:TextModel}"
                          ItemsSource="{Binding Children}">
  <TextBlock x:Name="TextPresenter"
             Text="{Binding Text}"
             Style="{StaticResource TextModelStyleMouseOver}" />
</HierarchicalDataTemplate>

此TextModel包含在我的TreeView中的每个TreeView项目中。在后面的代码中,我使用了VisualTreeHelper。HitTest获取我单击的TreeViewItem,但它不会将TreeViewItem作为HitTest结果之一提供给我。HitTest结果是:TextBlock(以及Border、Grid和ScrollViewer)——我定义的HierarchicalDataTemplate中的一个。

我尝试使用LogicalTreeHelper。GetParent(HitTestResults中的TextBlock),但它返回空值。

谢谢你的关注!

共有1个答案

闻人举
2023-03-14

HitTest有一个重载,可用于筛选结果:

VisualTreeHelper.HitTest(
    root,
    o => o is TreeViewItem ? HitTestFilterBehavior.ContinueSkipChildren : HitTestFilterBehavior.Continue,
    r =>
        {
            if (r.VisualHit is TreeViewItem)
            {
                DoSomethingWithTreeViewItem((TreeViewItem)r.VisualHit);
                return HitTestResultBehavior.Stop;
            }

            return HitTestResultBehavior.Continue;
        },
    new PointHitTestParameters(point));
 类似资料:
  • 问题内容: 我正在与集成的android应用程序上工作。我正在使用fql查询从Facebook获取信息。我的fql方法是 myjson对象具有我想要的所有信息。像这样 问题是如何将该信息存储到不同的阵列中? 请为此修改一些代码。 问题答案: 检查http://www.androidhive.info/2012/01/android-json-parsing- tutorial/

  • 例如,我有一个Kotlin类和方法(如果重要的话是Spring托管类): 我如何测试通过,并将作为? 我有几种解决方案: 让我们在中的比较中添加一个小增量。 让我们验证在我们传入字段的对象中不是,甚至使用。 让我们使用PowerMock或类似方式模拟调用。 让我们使用DI。使用此bean创建配置: 并将使用的服务修改为: 哪个是最佳解决方案?或者可能还有其他解决方案?

  • 问题内容: 我有一个看起来像这样的有角模板… 我已经设置了一个JSfiddle来显示绑定的数据。 我需要做的是根据数据内容有条件地显示“ from”,“ to”和“ arrowTo” div。 日志是这个… 如果数据中存在“ from”对象,则显示“ from” div并绑定数据,但不显示“ createdBy” div。 如果没有“来自”对象,但是有“ createdBy”对象,则显示“ cre

  • 问题内容: 我有一个非常简单的JSON数组(请关注 “ points.bean.pointsBase” 对象): 但是,不幸的是,它没有显示任何内容。 当我将 “ points.bean.pointsBase” 更改为不 带点 的名称时,一切正常! 但是,我不能将这个名称更改为没有点的任何其他名称,但是我需要获取一个值吗? 有什么选择吗? 问题答案: 您想要的是: 在JavaScript中,您可以

  • 我有两个类,大致定义如下: 我知道只存在于中,并且当且仅当相应对象是成员,而不是时,相应的bool标志将设置为。 我正在寻找一种符合标准的方法来派生指向包含一些内部对象的对象的指针。当然,我可以只在每个对象中存储一个指针,但由于类非常小,而且我有很多,这似乎是浪费内存(因此也是宝贵的缓存)。 显然,编译器应该知道,和包含的对象之间的内存偏移量。问题是:是否有一种符合标准的方法告诉编译器“获取该偏移

  • 问题内容: 我试图将值放入“标题”模板中,例如标题和导航链接,但无法访问我从包含的模板发送到主模板的变量。 渲染模板: index.html模板: header.html模板: 显然,它不会那样工作。 也许有一种方法可以解析/获取模板并将变量放入其中,而无需将整个头文件放入代码中?然后,我可以将该模板作为变量发送到我的主模板。但这似乎并不是最好的方法。 问题答案: 您可以在调用模板时将上下文传递给