WPF Combo Box Data Binding Selected Item

20,961

Add a binding to ComboBox.SelectedItem which is bound to a new string property on your ViewModel

<ComboBox ITemsSource="{Binding Hours}" SelectedItem="{Binding SelectedItem}" />

class ViewModel
{
    public string SelectedItem {get; set;}
}
Share:
20,961
framps
Author by

framps

Graduate Developer working for a travel company

Updated on June 25, 2020

Comments

  • framps
    framps almost 4 years

    I am trying to databind a ComboBox to a list of strings. So far I have got the following:

    In my View I have:

    <ComboBox Height="23" 
              HorizontalAlignment="Left" 
              Margin="133,180,0,0" 
              Name="comboBox1" 
              ItemsSource="{Binding Hours}" 
              VerticalAlignment="Top" 
              Width="38" />
    

    And in my ViewModel I have:

    private List<string> tripTimeHours = new List<string>();
    private List<string> tripTimeMinutes = new List<string>();
    
    public CreateTripViewModel()
    {
        TripName = new DataWrapper<string>(this, tripNameChangeArgs);
        TripName.IsEditable = true;
        setObjects();
        CreateTripFiredCommand = new SimpleCommand<object, EventToCommandArgs>(ExecuteCreateTripCommand);
    }
    
    private void setObjects()
    {
        for (int i = 0; i < 24; i++)
        {
            tripTimeHours.Add(i.ToString());
        }
    
        for (int i = 0; i < 60; i++)
        {
            tripTimeMinutes.Add(i.ToString());
        }
    }
    
    public List<string> Hours
    {
        get
        {
            return tripTimeHours;
        }
    }
    
    public List<string> Minutes
    {
        get
        {
            return tripTimeMinutes;
        }
    }
    

    What I want to be able to do is return the selected item from these combo boxes. I think I'm almost there, but just need to complete the final step.

  • framps
    framps almost 12 years
    That's awesome! Cheers buddy!