/// <summary> /// キャラ欄でEnterを押したとき。キャラを追加する /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void CharacterField_KeyDown(object sender, KeyEventArgs e) { if (selectedTitle == null) { return; } if (e.Key == Key.Return) { var fieldText = ((TextBox)sender).Text; if (!String.IsNullOrEmpty(selectedCharacter)) { // 選択されたキャラがある場合は編集 selectedTitle.Characters.RemoveAt(selectedCharacterIndex); selectedTitle.Characters.Insert(selectedCharacterIndex, fieldText); CharacterListView.Items[selectedCharacterIndex] = fieldText; selectedCharacter = null; selectedCharacterIndex = -1; } else { selectedTitle.Characters.Add(fieldText); CharacterListView.Items.Add(fieldText); } ((TextBox)sender).Clear(); CharacterListView.ScrollIntoView(fieldText); } }
private void CharacterListView_OnMouseDown(object sender, MouseButtonEventArgs e) { var result = VisualTreeHelper.HitTest(this, e.GetPosition(this)); if (result.VisualHit.GetType() != typeof(ListBoxItem)) { CharacterListView.UnselectAll(); } }