代码之家  ›  专栏  ›  技术社区  ›  Andrew Jackson

如何使WPF绑定发生在尚未显示的控件上?

  •  0
  • Andrew Jackson  · 技术社区  · 17 年前

    我有一个自定义文本框控件,它在文本属性更改时引发路由事件。此文本属性是绑定到视图模型对象上的属性的数据。

    当我将此控件放置在TabControl页或Expander控件上时,似乎只有当控件第一次可见时才会发生数据绑定,因此,在切换到控件所在的选项卡或展开Expander之前,我从未收到任何路由事件。

    2 回复  |  直到 17 年前
        1
  •  0
  •   Phil Wright    17 年前

    听起来您依赖数据绑定来创建路由事件是错误的方法。相反,您需要让模型或ViewModel在修改文本时生成一个事件,然后从视图中的适当位置观看该事件。

        2
  •  0
  •   JaredPar    17 年前

    不太可能。WPF是一个相当有效的框架,它不会做任何它绝对不需要做的工作。这包括数据绑定之类的场景。为什么要为一个可能永远不会显示的控件执行集合呢?