/// <summary> /// タイトル一覧のコンテキストメニューで削除を選択したとき /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DeleteTitleMenu_Click(object sender, RoutedEventArgs e) { presets.RemoveAt(selectedTitleIndex); titleListView.Items.RemoveAt(selectedTitleIndex); selectedTitle = null; selectedTitleIndex = -1; }
/// <summary> /// プリセットを開く /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OpenMenuClick(object sender, RoutedEventArgs e) { titleListView.Items.Clear(); selectedTitle = null; selectedTitleIndex = -1; selectedCharacter = null; selectedTitleIndex = -1; // ダイアログを開く var dialog = new Microsoft.Win32.OpenFileDialog { // フィルタ Filter = "JSONファイル(*.json)|*.json", FilterIndex = 1 }; if (dialog.ShowDialog() == true) { IsEnabled = false; ReadJson(dialog.FileName); IsEnabled = true; } if (presets == null) { return; } // タイトルバーに開いているファイル名を設定する Title = dialog.SafeFileName + " - PresetManager"; // TextBoxをクリアする TitleField.Clear(); ExplainField.Clear(); CharacterField.Clear(); foreach (var preset in presets) { titleListView.Items.Add(preset.Title); } }
/// <summary> /// タイトル一覧の行が選択されたときの処理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void TitleListViewSelectionChanged(object sender, SelectionChangedEventArgs e) { var index = titleListView.SelectedIndex; if (index < 0) { return; } // 選択項目を保持する selectedTitle = presets[index]; selectedTitleIndex = index; TitleField.Text = selectedTitle.Title; ExplainField.Text = selectedTitle.Explain; CharacterField.Clear(); // キャラクターの表示 CharacterListView.Items.Clear(); foreach (var character in selectedTitle.Characters) { CharacterListView.Items.Add(character); } }