public virtual void InitAutoAddView() { try { //リストビュー関連の設定 lstCtrl = new ListViewController <S>(this); lstCtrl.SetSavePath(ColumnSavePath); lstCtrl.SetViewSetting(listView_key, gridView_key, true, false , ColumnList, (sender, e) => dragMover.NotSaved |= lstCtrl.GridViewHeaderClickSort(e)); ColumnList = null; lstCtrl.SetSelectedItemDoubleClick(EpgCmds.ShowDialog); //ステータス変更の設定 lstCtrl.SetSelectionChangedEventHandler((sender, e) => this.UpdateStatus(1)); //ドラッグ移動関係 this.dragMover.SetData(this, listView_key, new lvDragData(this)); //最初にコマンド集の初期化 //mc = (R)Activator.CreateInstance(typeof(R), this); mc.SetFuncGetDataList(isAll => (isAll == true ? lstCtrl.dataList : lstCtrl.GetSelectedItemsList()).AutoAddInfoList()); mc.SetFuncSelectSingleData((noChange) => { var item = lstCtrl.SelectSingleItem(noChange); return(item == null ? null : item.Data as T); }); mc.SetFuncReleaseSelectedData(() => listView_key.UnselectAll()); //コマンド集に無いもの mc.AddReplaceCommand(EpgCmds.ChgOnOffCheck, (sender, e) => lstCtrl.ChgOnOffFromCheckbox(e.Parameter, EpgCmds.ChgOnOffKeyEnabled)); //コマンドをコマンド集から登録 mc.ResetCommandBindings(this, listView_key.ContextMenu); //コンテキストメニューを開く時の設定 listView_key.ContextMenu.Opened += new RoutedEventHandler(mc.SupportContextMenuLoading); //ボタンの設定 mBinds.View = viewCode; mBinds.SetCommandToButton(button_add, EpgCmds.ShowAddDialog); mBinds.SetCommandToButton(button_change, EpgCmds.ShowDialog); mBinds.SetCommandToButton(button_del, EpgCmds.Delete); mBinds.SetCommandToButton(button_del2, EpgCmds.Delete2); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }