WPF Devexpress ComboBoxИзменить элементы
-
22-07-2019 - |
Вопрос
я использую компонент devexpress comboBoxEdit в своем приложении WPF.Я присваиваю ему значения следующим образом:
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" />
Но проблема в том, что в этом поле со списком я вижу свои идентификаторы (члены значений), только когда я расширяю его, я вижу значения DisplayMember.В чем проблема, как сделать, чтобы всегда видеть текстовые значения, а не мой идентификатор?
Решение
Добавить
IsTextEditable="False"
в ваш xaml для ComboBoxEdit.Это известная проблема с управлением. упомянуто здесь.Я использую элементы управления DX, и лично я считаю, что их элементы управления Silverlight и WPF сильно отстают от остального рынка (их элементы управления Silverlight все еще находятся в бета-версии, возможно, когда ComboBoxEdit содержит подобную ошибку, элементы управления WPF тоже следует считать бета-версией). ).Возможно, вы захотите придерживаться элементов управления MS, пока DX не исправит их дерьмо.
Другие советы
Если вам нужно более сложное поведение, вы можете использовать компонент DevExpress LookUpEdit http: // документация. devexpress.com/#WindowsForms/clsDevExpressXtraEditorsLookUpEdittopic р>