【发布时间】:2013-10-31 13:01:08
【问题描述】:
我有 4 种不同的视图和不同的操作。我正在使用 DateTemplate 创建视图
<DateTemplate DateType={X:Type HomeViewModel}" >
<HomeView>
</DateTemplate>
<DateTemplate DateType={X:Type DeviceDateViewModel}" >
<DeviceDateView>
</DateTemplate>
我有 ContentControl,所有 ViewModel 都绑定到 Content 属性,比如“ActiveView”
我已经创建了所有 ViewModel 并保存在字典中。当我想更改视图时,我只需将 ActiveView 分配给我要显示的新视图。
void ActiveteView(ViewType viewType)
{
ActiveView = GetViewFromDictionary(viewType);
}
我们的一个控件不支持DataBinding,所以我在View的后台代码中新建了一些控件。
我的问题是:当我更改 ActiveView 时,它会在 ContentControl 中创建新的视图和显示。因此,我遇到了问题。我的旧视图仍在记忆中。如何销毁它们?
目前,我们无法更改设计。我们可以忍受它。
【问题讨论】:
标签: c# wpf datatemplate