我在我的WPF应用程序中使用devexpress comboBoxEdit组件。我为此分配值:
private void Users1_Load()
{
DataTable dtCat = SqlHelper.GetTable("base_UserCategory_Select", new string[] { });
DataRow dr = dtCat.NewRow();
dr["UserCategoryID"] = 0;
dr["CategoryName"] = "< All >";
dr["IsSystem"] = "False";
dtCat.Rows.InsertAt(dr, 0);
comboBoxEdit1.ItemsSource = dtCat.DefaultView;
comboBoxEdit1.SelectedIndex = 1;
}
我的xaml:
<dxe:ComboBoxEdit Height="20" Margin="14,64,0,0" Name="comboBoxEdit1" DisplayMember = "CategoryName" ValueMember = "UserCategoryID" VerticalAlignment="Top" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" HorizontalAlignment="Left" Width="254" />
但问题是,在这个组合框中我看到了我的id(Value Members),只有当我展开它时,我才能看到DisplayMember值。问题是什么,怎么做总是看文本值,而不是我的id ..?
答案 0 :(得分:3)
添加
IsTextEditable="False"
到您的xaml for ComboBoxEdit。这是控件mentioned here的已知问题。我使用DX控件,我个人认为他们的Silverlight和WPF控件远远落后于其他市场(他们的Silverlight控件仍然是测试版,可以说当ComboBoxEdit包含这样的bug时,WPF控件也应该被认为是测试版)。您可能希望坚持使用MS控件,直到DX修复它们的废话。
答案 1 :(得分:0)
如果您需要更复杂的行为,可以使用DevExpress LookUpEdit组件http://documentation.devexpress.com/#WindowsForms/clsDevExpressXtraEditorsLookUpEdittopic