Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

WPF Combo Box Data Binding Selected Item

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.

like image 633
framps Avatar asked Jun 25 '12 09:06

framps


1 Answers

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;}
}
like image 196
gͫrͣeͬeͨn Avatar answered Sep 30 '22 15:09

gͫrͣeͬeͨn