【问题标题】:WPF Combo Box Data Binding Selected ItemWPF 组合框数据绑定选定项
【发布时间】:2012-06-26 12:36:41
【问题描述】:

我正在尝试将ComboBox 数据绑定到strings 的列表。到目前为止,我得到了以下内容:

在我看来,我有:

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

我想要做的是从这些组合框中返回所选项目。我想我快到了,但只需要完成最后一步。

【问题讨论】:

  • 目前它实际上在做什么?你得到一个错误或什么?到目前为止,您尝试过什么?
  • 目前我在组合框中得到了值,这就是我到目前为止所得到的。我无法弄清楚获取所选项目的逻辑。

标签: c# wpf data-binding mvvm


【解决方案1】:

添加到 ComboBox.SelectedItem 的绑定,该绑定绑定到 ViewModel 上的新 string 属性

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

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

【讨论】:

  • 太棒了!干杯哥们!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-12
  • 2014-02-03
  • 2011-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多