WPF: ComboBox отображается “(пространство имен). (имя класса)” вместо данных

приведение объекта даты в числовой объект даст вам «количество дней с 01.01.1970»

my_date = as.Date('2015-01-01')

my_date

#[1] "2015-01-01"

class(my_date)

# [1] "Date"

as.numeric(my_date)

# [1] 16436
9
задан Dave Clemmer 25 August 2011 в 16:32
поделиться

4 ответа

Можно переопределить ToString метод Contact, или можно определить a DataTemplate в WPF.

xmlns:dpwpf="... namespace of dpwpf"

<Window.Resources>
    <DataTemplate DataType="{x:Type dpwpf:Contact}">
        <StackPanel Orientation="Horizontal">
            <TextBlock Text="{Binding LastName}">
            <TextBlock Text=" ">
            <TextBlock Text="{Binding FirstName}">
        </StackPanel>
    </DataTemplate>
</Window.Resources>

Это позволяет Вам определять как a Contact объект появится где угодно в окне. Если Вы хотите ограничить это ComboBox можно добавить DataTemplate только к ComboBox ресурсы.

8
ответ дан 4 December 2019 в 10:05
поделиться

То, что делает обязательный механизм, называет ToString () на типе, который связывается. Поскольку я предполагаю, что Вы не переопределяете ToString (), он будет именно так namespace.type вместо чего-то полезного.

Как мятежный говорит, можно использовать DisplayMember, чтобы сказать привязке использовать свойство того названия значения дисплея, или можно переопределить ToString () как ниже, чтобы заставить пользовательское свойство показывать.

public void Contact
{
 public string FirstName { get; set; }
 public override string ToString()
 {
   return FirstName; 
 }
}
4
ответ дан 4 December 2019 в 10:05
поделиться

необходимо использовать DisplayMember = "TheValue"

можно добавить, что это в XAML или в CLR также отмечает, что привязка в устраивается а не через XAML., я думаю, что это касается prvious вашего вопроса. который реализует привязку через ObjectDataProvider, используют тот пример и добавляют DisplayMemeber = "memeber" в XAML

HTH, Eric,

3
ответ дан 4 December 2019 в 10:05
поделиться

Просто добавьте это в свой тег ComboBox (код xaml)

TextSearch.TextPath ="Title"

ToString() модификация повлияет на все будущие случаи, которые вам понадобятся, я не рекомендую вам это делать.

См. этот пример: http://simplesample.site90.com/wpf_combobox.php

6
ответ дан 4 December 2019 в 10:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: