加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何以编程方式检索用于UI层次结构中特定元素的DataTempla

发布时间:2020-12-15 21:55:48 所属栏目:百科 来源:网络整理
导读:我们需要在代码中确定在给定特定数据类型和元素的情况下,将自动应用于绑定元素的模板. 我们不是在寻找一个DataTemplateSelector,因为它用于告诉UI基于自定义逻辑的给定对象使用哪个模板.相反,我们询问用户界面将使用哪个模板用于给定的数据类型和UI元素. 换
我们需要在代码中确定在给定特定数据类型和元素的情况下,将自动应用于绑定元素的模板.

我们不是在寻找一个DataTemplateSelector,因为它用于告诉UI基于自定义逻辑的给定对象使用哪个模板.相反,我们询问用户界面将使用哪个模板用于给定的数据类型和UI元素.

换句话说,我们正在寻找基于窗口资源部分中定义的模板应用的WPF,可以通过该窗口上的控件的资源覆盖,可以通过显式设置DataTemplate或者覆盖它来覆盖它们.直接在该元素上提供DataTemplateSelector.

此外,我们尝试了SelectTemplate的默认实现,但返回null,所以我们也不能去那条路线.

测试是在UI中的任何位置询问没有数据模板或选择器的元素’你将如何显示这个值?’并希望它将返回一个DataTemplate,其中包含TextBlock的定义,text对象设置为该对象上的ToString方法,默认情况下,在没有定义任何其他内容时显示.

解决方法

Thomas Levesque的未经测试的解决方案对我来说并不适合,但提供了一个很好的起点.在我们的例子中,“容器”参数并不总是在可视树中,所以首先我们走向逻辑树直到找到视觉.结合MarqueIV的出色建议,可以得到一个相当简单的解决方案.

以下代码适用于我的生产.你的旅费可能会改变.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读