【发布时间】:2014-03-17 14:42:45
【问题描述】:
如何从依赖属性中引发的对象中捕获事件?
例如,通常我会写这样的东西
Public Property foo1 as foo
get
return _foo
end get
set (value as foo)
_foo = value
end set
end property
Private WithEvents _foo as foo
Public Sub Foo_Handler() Handles _foo.SomeEvent
'Do soemthing
End Sub
但是,您不能将依赖属性声明为 WithEvents。任何想法
【问题讨论】:
-
是自定义控件的DP吗?
-
是的,DP 拥有一个 ISaveView 类型的对象,该对象具有以下项:Sub Save()、Sub Cancel()、Event CloseView()、Event HasChanges()。我能够通过捕获 DP 的 OnChanged 属性来制定解决方法,然后将视图的单独副本保存在私有变量中并从中捕获事件。它有效,但感觉不对劲,而且有点做作。
-
所以,您可以创建另一个具有 Action 或 ICommand 类型的 DP。当你的 DP 更新状态时,只需提出 Action 或 Command。另一种方法是创建新类型的自定义事件并绑定到它。所以有很多选择,选择取决于你
-
我在下面的答案中添加了更多信息。您是否知道有任何文章对您的上述有关“新型自定义事件”的评论有更多信息?恐怕,我不明白你的意思,但我想研究一下这个选项。
标签: vb.net silverlight dependency-properties