Вопрос

я использую компонент 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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top