WPF组合框数据绑定选定项

5

我正在尝试将一个 ComboBox 绑定到一个 字符串 列表。目前我已经得到了以下内容:

在我的视图中,我有:

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

在我的ViewModel中,我有:

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;
    }
}

我希望能够返回这些组合框中所选的项目。我认为我已经接近成功,只需要完成最后一步。

它目前实际在做什么?你是否遇到了错误或其他问题?你已经尝试过什么了? - Gaz Winter
目前我只能获取组合框中的值,这就是我所拥有的全部。我无法想出获取所选项目的逻辑。 - framps
1个回答

16

在您的视图模型上绑定一个新的string属性,将其绑定到ComboBox.SelectedItem

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

class ViewModel
{
    public string SelectedItem {get; set;}
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接