WPF组合框只允许整数作为文本

时间:2014-07-14 23:15:39

标签: c# .net wpf xaml combobox

我有大约10个组合框。它们都使用.xsd文件填充了表适配器。 我正在使用Linq to SQL来获取特定行,并将组合框默认为该行的某些列。这是我的组合框代码

                cmbCompany.Text = query.intAcctCo.ToString();
                cmbCompanyRec.Text = query.intAcctCoRec.ToString();
                cmbProgramCodes.Text = query.chrPgmCode;
                cmbCarrierCodes.Text = query.intCarrierCode.ToString();
                cmbDealerNumber.Text = query.chrDlrNum;
                cmbCoverageCodes.Text = query.chrCvgCode;
                cmbPayeeType.Text = query.chrPayeeType;
                cmbFeeType.Text = query.chrFeeType;
                cmbPayeeCodes.Text = query.intPayeeCode.ToString();
                cmbTransactionTypes.Text = query.chrTransType;  

这是查询

   var query =
                (from z in dc.tblActgPayeeTransactionAccounts2
                 where z.intActgAcctID == unique
                 select z).FirstOrDefault();

“unique”只是特定行的标识符

所有带有“ToString()”的东西都正常工作而另一些则没有。我尝试了多件没有运气的东西。它甚至表明,当我将鼠标悬停在调试模式时,它们具有文本所需的值,但是当页面加载时,它们是空白的。我已经尝试将“ToString()”添加到其他人,即使他们已经是字符串,没有运气。想法?

我正在使用Visual Studio 2013,4.5.1的.net框架。组合框的所有xaml都是相同的。

1 个答案:

答案 0 :(得分:1)

您需要正确构建数据。你说:

  

我正在使用Linq to SQL来获取特定的行

将该行数据放入自定义类中,每个列的属性为public,然后data bindComboBox个。然后,您可以添加额外的属性以反映每个ComboBox中的所选项目,并将数据绑定到每个ComboBox.SelectedItem的{​​{1}}属性:

ComboBox

然后,当您想从代码中选择一个项目时,您可以这样做:

<ComboBox ItemsSource="{Binding YourCollectionProperty}" 
    SelectedItem="{Binding YourSelectedItemProperty, Mode=TwoWay}" />

或者这个:

YourSelectedItemProperty = YourCollectionProperty.FirstOrDefault();

我建议您对MSDN上的链接数据绑定页面进行长时间阅读。