【发布时间】:2016-11-22 20:07:42
【问题描述】:
在我的 WPF 项目中,我有一个带有多个选项卡项的 TabControl。 每个 Tab Item 都有一个 WPF 控件(视图),每个视图都有一个对应的 ViewModel。 每次单击更改选项卡项时,我注意到再次单击选项卡项时控件/视图已卸载并再次加载,对应的 ViewModel 保留在内存中。
我正在尝试构建一个简单的 RemoteDesktop/RDP 客户端,每个计算机连接使用 1 个选项卡项,所以问题是当我更改选项卡项时,连接消失,因为视图已卸载...
我研究了一些示例,但其中大多数构建在 Winforms 之上,其实现与 WPF 不同。
所以我在想,当我从 TabItem 更改时,是否可以防止 View 超出范围?
是否有人知道一些使用 WPF 进行选项卡式 RDP 连接的在线示例? 谢谢。
更新 - 正在使用数据模板
<DataTemplate DataType="{x:Type vm:DashboardViewModel}">
<v:DashboardView />
</DataTemplate>
【问题讨论】:
-
有人吗? - 建议?
-
WPF 大师在哪里? :)
-
如何实现视图和视图模型之间的关系?我的意思是... TabControlView TabControlViewModel、TabItemView TabItemViewModel 等。你如何实例化它们?
-
嗨,我正在为每个 TabItem 使用不同的 DataTemplate。我更新了最初的帖子供您查看。
-
好的。你是在
Load事件还是在标签的GotFocus事件中做些什么?
标签: c# wpf mvvm wpf-controls