abcaabbcc
464
2020-08-30 11:47:20
1
154

리스트뷰에 들어간 오브젝트를 선택해 삭제하고 싶습니다




   public MainWindow()
    {
        InitializeComponent();

        DataContext = new AddItem();
        newItems = new ObservableCollection<AddItem> { };
        taskList.ItemsSource = newItems;

    }

    private void addButton_Click(object sender, RoutedEventArgs e)
    {
        var newItem = new AddItem()
        {
            Title = inputTitle.Text,
        };

        newItems.Add(newItem);
        taskList.SelectedItem = newItem;
    }

    private void deleteButton_Click(object sender, RoutedEventArgs e)
    {
            AddItem itemToRemove = newItems.FirstOrDefault();
            newItems.Remove(item: itemToRemove);
            taskList.SelectedItem = null;
    }


요런식으로 코드를 짜서 inputTitle에 쓴 이름대로 TaskList(리스트뷰 이름)에 입력하고, 저 DEL 버튼을 눌러 삭제하는 건 되는데, 문제는 제가 선택한 게 아니라 그냥 위에서부터 순차적으로 지워집니다.

어떻게 해야 선택한 걸 삭제할 수 있을까요?

0
  • 답변 1

  • 빵야빵야
    49
    2020-08-30 12:40:49
    itemToRemove = newItems.FirstOrDefault();

    위의 코드가 정확하게 어떤 식으로 작동하는 지는 잘 모르겠지만.. 

    메소드 이름으로 추정하건데 Array에서 첫 번째 값 혹은 인자를 주고 그 인자에 맞는 값을 찾아오는 거 같아요.


    만약 이게 맞다면 무조건 첫 번째, 즉 위에서 순차적으로 지워질 수 밖에 없을 거예요.

  • 로그인을 하시면 답변을 등록할 수 있습니다.