What is the easiest way to handle SelectedItem event with MVVM?

后端 未结 2 841
萌比男神i
萌比男神i 2021-02-02 02:10

In the code below, when user selects Customer in the combobox, the customer\'s name is displayed in a textbox. I fill the Combox box with an O

2条回答
  •  囚心锁ツ
    2021-02-02 02:25

    You should be able to bind a property in you ViewModel to the SelectedItem property of the combobox. If you set this up as two way binding you will be notified when the SelectedItem is changed because it will trigger the set method on the property.

    ViewModel:

    public ObservableCollection Customers
    {
       get { return _customers; }
       set
       {
           if (_customers != value)
           {
               _customers = value;
               OnPropertyChanged("Customers");
           }
       }
    }
    
    public Customer SelectedCustomer
    {
       get { return _selectedCustomer; }
       set
       {
           if (_selectedCustomer != value)
           {
               _selectedCustomer= value;
               LastName= value.LastName;
               OnPropertyChanged("SelectedCustomer");
           }
       }
    }
    
    public Customer LastName
    {
       get { return _lastName; }
       set
       {
           if (_lastName!= value)
           {
               _lastName= value;
               OnPropertyChanged("LastName");
           }
       }
    }
    

    Xaml:

    
        
    
        
    
    

提交回复
热议问题