(UWP)当您x:将事件绑定到VM中的事件Handler时,在导航到新视图时必须手动不设置绑定



众所周知,基于UWP的应用程序可以使用X:绑定以将事件绑定到其相应的处理程序 - 无论他们位于何处。

现在,我有几种视图。这些视图中的每一个都包含x:绑定到位于ViewModel中的单个事件Handler的事件。ViewModel在应用程序的一生中永远不会卸载。

当我导航到另一个视图时,x:bind链接会自动清除,还是必须实现代码才能自己执行此操作?请记住,即使视图发生了变化,我在这里使用了ViewModel的相同实例。

请注意,我正在开发UWP应用程序,因此给出的任何建议都必须适用于该平台。我之所以这样说,因为人们仍然倾向于提供与WPF有关的建议,即使我清楚地表明该应用是基于UWP的。

谢谢!:]

如果视图被卸载,则绑定也是如此。如果视图还活着,那么绑定也是如此。与XAML的不同之处在于,如果视图不可见,那么您并没有真正消耗太多资源来实现绑定继续。唯一可能给您带来明显影响的事情是对绑定过程中项目的动画。即使视图不可见,它仍然消耗资源(尽管较少(。

只要视图卸载,简短的答案就没有。而且,就使用相同的ViewModel而言,这并没有错,实际上,我更喜欢在可能的情况下自己做。但是,就像建议一样,良好的做法仍在设计视图模型以工作相同,无论是新的还是相同的。如果需要保持恒定的数据,我建议将视图将其推向模型。

希望这会有所帮助:(

最新更新