Так несколько вещей Вы могли бы сделать для привыкания, что кажется, что Вы ищете:
1) Расширяют класс Списка - и добавляют метод соединения к нему. Метод соединения просто сделал бы работу конкатенации и добавления разделителя (который мог быть параметрическим усилителем к методу соединения)
2), похоже, что Java 7 будет добавляющими дополнительными методами к Java - который позволяет Вам только для присоединения определенного метода на классе: таким образом, Вы могли записать, что метод соединения и добавляет его как дополнительный метод для Списка или даже к Набору.
Решением 1 является, вероятно, единственное реалистическое, теперь, хотя, так как Java 7 еще не отсутствует:), Но это должно работать просто великолепно.
Для использования обоих из них Вы просто добавили бы все свои объекты к Списку или Набору, как обычно, и затем назвали бы новый пользовательский метод 'присоединиться' к ним.
Вы можете сделать это полностью в 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 объекта.
Вы можете использовать IValueConverter для преобразования «объекта» в строковое значение и обратно. Подробнее см. В примере кода по ссылке IValueConverter.