Составной DisplayMemberPath для комбинированного списка - PullRequest
3 голосов
/ 04 октября 2011

Мне нужно создать DisplayMemberPath, который представляет собой соединение нескольких свойств (то есть object.category.Name + "->" + object.description). Я почти уверен, что могу сделать это, создав динамический тип данных, который инкапсулируетобъект, а также добавляет новое свойство с именем displayField, это то, что мне нужно, но мне интересно, есть ли более правильный способ сделать это, не включая создание нового объекта.Есть идеи?

1 Ответ

9 голосов
/ 04 октября 2011

DisplayMemberPath - это просто «ярлык», когда вам не нужен сложный шаблон для элементов.Если вам нужно больше контроля, используйте ItemTemplate вместо:

<ComboBox ItemsSource="{Binding Items}">
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <TextBlock>
                <TextBlock.Text>
                    <MultiBinding StringFormat="{}{0} -> {1}">
                        <Binding Path="Category.Name" />
                        <Binding Path="Description" />
                    </MultiBinding>
                </TextBlock.Text>
            </TextBlock>
        </DataTemplate>
    </ComboBox.ItemTemplate>
</ComboBox>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...