/// <summary> /// コンテナにViewをセットします。 /// </summary> /// <param name="view">表示するViewを表すelfDynamicView。</param> private void setViewToContainer(elfDynamicView view) { this.container.Controls.Add(view); view.Parent = this.container; view.Dock = DockStyle.Fill; view.Visible = true; this.currentView = view; this.addViewToCache(view); }
/// <summary> /// 現在のViewをDisposeします。 /// </summary> private void disposeCurrentView() { if (this.currentView != null) { // 現在のViewが常にLoadするViewの場合はリストに登録されていないので改めてDispose if (this.currentView.AlwaysLoad) { this.currentView.Dispose(); } } this.currentView = null; }
/// <summary> /// キャッシュにViewを追加します。 /// </summary> /// <param name="view">キャッシュに追加するelfDynamicView。</param> private void addViewToCache(elfDynamicView view) { if (!view.AlwaysLoad) { // 常にLoadする場合はキャッシュに追加しない var viewKey = view.GetType().FullName; // キーが存在しない場合は追加 if (!this.viewDic.ContainsKey(viewKey)) { this.viewDic.Add(view.GetType().FullName, view); } } }