我有 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 中创建新的视图和显示。因此,我遇到了问题。我的旧视图仍在记忆中。如何摧毁它们?
目前,我们无法更改设计。我们处于忍受它的境地。