我不知道我的写作中是否存在某种设计缺陷,但我对目前正在尝试使用的方法感到有点困惑。
我的ViewModel中有一个案例,我想根据用户控件的当前状态对某些值进行限制。为此,我需要绑定到该控件上的属性,并确保ViewModel 始终知道其当前状态。
在一个例子中,这很有效。如果控件上的值发生变化,View的DependencyProperty会说,嘿,我已经改变了。数据被推送到我的ViewModel。辉煌!
当我的ViewModel被切换出来时,问题出现了,并且View没有改变。一个很好的例子是View的ActualWidth和ActualHeight。在ViewModel开关上(有效地删除旧的,并重新实现一个新的)。 DependencyPropertys不会改变。因此,我的新视图模型永远不会收到视图的数据。
这意味着我的控件必须知道它的ViewModel何时发生变化。对?
如果这一切都有意义,我该如何去推进"我的视图模型的新值。即使他们没有改变?