【问题标题】:Combo box not displaying bound values in Silverlight Xaml组合框未在 Silverlight Xaml 中显示绑定值
【发布时间】:2014-02-19 06:41:48
【问题描述】:

您好,当我尝试绑定组合框时,我对 silverlight 非常陌生,ItemsSource 和 DisplayMemberPath 中有 3 个项目作为“JobName”,但这些值没有被绑定。
下面是我的代码。 xml:

 <combobox x:name="cbJobName" grid.column="1" grid.row="1" margin="5,5,0,10"                                         horizontalalignment="Left" style="{StaticResource ComboBoxStyle2}"  width="200" maxwidth="250" height="23" maxdropdownheight="250" tooltipservice.tooltip="Select a Job" selectionchanged="cbJobName_SelectionChanged">
    </combobox>

代码隐藏:

            JobNames = new List<JobList>();

            JobList Jobs = new JobList();
            Jobs.jobID = 1; 
            Jobs.jobName = "DM Propagation";
            Jobs.errorMessage = "";
            Jobs.lastDate = "1/11/2014";
            Jobs.nextDate = "2/11/2014";
            Jobs.jobState = 1;
            JobNames.Add(Jobs);

            Jobs = new JobList();
            Jobs.jobID = 2;
            Jobs.jobName = "Import Propagation"; 
            Jobs.errorMessage = "";
            Jobs.jobState = 2;
            Jobs.lastDate = "3/11/2014";
            Jobs.nextDate = "4/11/2014";
            JobNames.Add(Jobs);

            Jobs = new JobList();
            Jobs.jobID = 3;
            Jobs.jobName = "Cross Propagation";
            Jobs.errorMessage = "";
            Jobs.jobState = 2; 
            Jobs.lastDate = "5/11/2014";
            Jobs.nextDate = "6/11/2014";
            JobNames.Add(Jobs);

              cbJobName.ItemsSource = JobNames;
              cbJobName.DisplayMemberPath = "jobName";
              cbJobName.SelectedIndex = 0;
              biJobProcessingHome.IsBusy = false;

【问题讨论】:

  • 使用 JobNames = new List(of JobList ) 代替。

标签: silverlight xaml


【解决方案1】:

我认为你在制作列表时犯了一个错误,你去吧,

在 xaml 中,

 <ComboBox Height="23" HorizontalAlignment="Left" Margin="188,150,0,0" Name="comboBox1" VerticalAlignment="Top" Width="120" />

假设你有一个名为 Job 的类,

public class Job
{
    public int JobID { get; set; }
    public string jobName { get; set; }
    public string errorMessage { get; set; }
    public DateTime lastDate { get; set; }
    public DateTime nextDate { get; set; }
    public int status { get; set; }
}

这是你如何绑定它,

  List<Job> JobsList = new List<Job>();
            for (int i = 0; i < 5; i++)
            {
                Job jobObj = new Job();
                jobObj.JobID = i;
                jobObj.jobName = "test" + i;
                jobObj.status = 1;
                jobObj.errorMessage = "success";
                JobsList.Add(jobObj);

            }
            comboBox1.ItemsSource = JobsList;
            comboBox1.DisplayMemberPath = "jobName";

【讨论】:

  • 谢谢!!谢谢你!!我在我的类中缺少我的属性的 get set 方法 blush 谢谢!
  • 如果对您有帮助,能否将其标记为答案!
猜你喜欢
  • 2011-11-21
  • 1970-01-01
  • 2023-03-28
  • 2023-03-08
  • 1970-01-01
  • 2010-12-24
  • 2016-09-12
  • 1970-01-01
  • 2019-12-27
相关资源
最近更新 更多