wpf组合框中的默认值

wpf组合框中的默认值,wpf,data-binding,combobox,Wpf,Data Binding,Combobox,我有一个列出财政年度的数据绑定组合框。用户从该组合中选择一个值,从“客户”组合框中选择一个值,然后选择该财务年度的客户报告供用户处理。虽然可以处理历史文档,但默认用例是处理刚完成的财政年度的报告,因此我想将组合框设置为默认值(当前)2011/2012,这是财政年度实体的字符串属性 我的xaml: <ComboBox Canvas.Left="353" Canvas.Top="18" Height="23" Name="cbo

我有一个列出财政年度的数据绑定组合框。用户从该组合中选择一个值,从“客户”组合框中选择一个值,然后选择该财务年度的客户报告供用户处理。虽然可以处理历史文档,但默认用例是处理刚完成的财政年度的报告,因此我想将组合框设置为默认值(当前)2011/2012,这是财政年度实体的字符串属性

我的xaml:

<ComboBox Canvas.Left="353" 
          Canvas.Top="18" 
          Height="23" 
          Name="cboFinancialYear"
          Width="120" 
          DisplayMemberPath="FinancialYear1" 
          ItemsSource="{Binding}" 
SelectedValuePath="FinancialYearID" />;
但是,这似乎没有任何影响,组合框中的选定项是FinancialYear表中的第一年

有人能指出我做错了什么吗?我环顾了一下,但组合框中的大多数默认值实现似乎都是“选择一年”类型的指令文本,而我想实际选择一个默认值

cboFinancialYear.SelectedValue=thisYear.FinancialYearID;

使用SelectedValue而不是SelectedItem,我希望这会有所帮助。

SelectedItem有一个对ItemsSource对象的引用。如果ItemsSource属于
IEnumerable
类型,则无法将SelectedItem设置为字符串

你的物品来源是什么类型的?@gaurawerma,嗯,很有趣。xaml中应该有一个源属性。我已将其固定在以下位置,但仍不起作用:但仍不起作用我的意思是,您的项目中的实体类型是什么?来源是财务年度。在窗口资源中,xaml:@eticallogics:仍在处理mvvm问题。目前我的xaml代码中有代码。(我是新来的)谢谢伦理学。我认为这将为我指明正确的方向。我应该(可能更早)提到我的GetCurrentFinancialYear方法目前只返回字符串表示形式。如果我把它设置为一个返回实体的查询,那么我应该能够对它进行比较,是吗?好的,我知道我做错了什么。那么,我是否正确地认为(正如我对ethicallogic的评论)我需要获取一个实体并将其粘贴到SelectedItem中,而不是我的字符串中?是的。但是你不应该在你的代码后面写这个逻辑。这打破了MVVM模式。相反,您应该将SelectedItem与viewmodel.yah中的属性绑定。我正试图朝那个方向前进,但我发现所有的图特都不起作用。我想我会让它运行起来,然后重构到优雅。谢谢你的帮助。还没有实现解决方案,但会将两者都标记为答案,因为它们都显示了我做错了什么。