WPF IsEditable=true ComboBox, заполненный объектами, отображает ToString () как выбранный пункт

Так несколько вещей Вы могли бы сделать для привыкания, что кажется, что Вы ищете:

1) Расширяют класс Списка - и добавляют метод соединения к нему. Метод соединения просто сделал бы работу конкатенации и добавления разделителя (который мог быть параметрическим усилителем к методу соединения)

2), похоже, что Java 7 будет добавляющими дополнительными методами к Java - который позволяет Вам только для присоединения определенного метода на классе: таким образом, Вы могли записать, что метод соединения и добавляет его как дополнительный метод для Списка или даже к Набору.

Решением 1 является, вероятно, единственное реалистическое, теперь, хотя, так как Java 7 еще не отсутствует:), Но это должно работать просто великолепно.

Для использования обоих из них Вы просто добавили бы все свои объекты к Списку или Набору, как обычно, и затем назвали бы новый пользовательский метод 'присоединиться' к ним.

15
задан Aran Mulholland 4 December 2009 в 00:47
поделиться

2 ответа

Вы можете сделать это полностью в Xaml

<ComboBox IsTextSearchEnabled="True" IsEditable="True"
        ItemsSource="{Binding MyObjectCollection}"
        TextSearch.TextPath="MyObjectName">
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding MyObjectName}" />
        </DataTemplate>
     </ComboBox.ItemTemplate>
</ComboBox>

Восходящая сторона состоит в том, что вы можете определить и изменить это, как вы хотите в XAML без какого-либо кода. Необходимо привязать ItureSource к коллекции объектов, а затем задать путь, на котором будет основан поиск, к TextSearch.TextPath. Затем в пользовательском ItemTemplate можно привязать TextBlock к другому элементу вне метода ToString объекта.

32
ответ дан 1 December 2019 в 01:30
поделиться

Вы можете использовать IValueConverter для преобразования «объекта» в строковое значение и обратно. Подробнее см. В примере кода по ссылке IValueConverter.

3
ответ дан 1 December 2019 в 01:30
поделиться
Другие вопросы по тегам:

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