操作の種類が異なる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);
}
コントロールの 1 つが DataBinding をサポートしていないため、View のビハインド コードに新しいコントロールをいくつか作成しました。
私の問題は次のとおりです。ActiveView を変更すると、ContentControl に新しいビューと表示が作成されます。そのため、私は問題を抱えています。私の古いビューはまだメモリにあります。それらを破壊する方法は?
現時点では、デザインを変更することはできません。私たちはそれと一緒に暮らす状況にあります。