基于MVVM 示例 http://msdn.microsoft.com/en-us/magazine/dd419663.aspx作者:Josh Smith,我实现了多选项卡选项,该选项将不同的选项卡绑定到不同的视图模型
使用将视图模型绑定到视图的简单数据模板。
<DataTemplate DataType="{x:Type fixtureVM:SearchViewModel}">
<SearchVw:SearchView/>
</DataTemplate>
我遇到的问题是,当我切换选项卡然后再次切换回来时,文本框中的值消失。当我将文本框中的文本绑定到 ViewModel 中的值时,它不会消失。这很好,我可以克服这个问题,但我遇到了另一个问题,例如,一旦选项卡失去焦点,网格中滚动条的位置就会消失。
为什么价值会消失?我假设这是一个清理资源的 WPF 子系统任务!?我怎样才能避免这种情况?我还觉得它可能会减慢我的应用程序的速度。
阅读我的帖子here https://stackoverflow.com/questions/2770387/binding-tabcontrol-itemssource-to-an-observablecollection-of-viewmodels-causes-co关于为什么会发生这种情况。基本上,因为您在 DataTemplate 中连接 View 和 ViewModel,所以该选项卡每次收到焦点时都会重新创建视图。是的,这会消耗更多的资源。您可以通过以不同的方式连接视图和 ViewModel 来解决此问题(即 Catelog 方法、WAF 或使用不同类型的项目控件也可以解决问题......)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)