Отображение словаря Wpf в списке

#c# #wpf #dictionary #listbox

#c# #wpf #словарь #listbox

Вопрос:

Я работаю над POS-системой и использую словарь для подсчета любых дубликатов в моем списке продуктов. Для этого я использую следующий Linq:

 selectedProducts.GroupBy(x => x).ToDictionary(g => g.Key, g => g.Count());
  

Затем я привязываю этот словарь к списку, чтобы показать его официанту. Проблема в том, что способ, которым словарь выглядит при привязке к listbox, неясен.

Он отображается следующим образом: [Объект, количество]. Есть ли способ изменить способ отображения словаря в списке?

Заранее спасибо!

Комментарии:

1. Я думаю, вы ищете DisplayMemberPath=Ключ или DisplayMemberPath=Значение

2. @user3753988 что вы хотите отобразить? Key Value или и то, и другое?

3. Мой xaml довольно прост, это просто listbox. Способ, которым я привязываю свой список, выглядит следующим образом: количество словарей = Выбранные продукты. GroupBy(x => x).ToDictionary(g => g.Key, g => g.Count()); lbx_Products. ItemsSource = counts; Я хочу отобразить как ключ, так и значение, я просто хочу отредактировать его таким образом, чтобы оно выглядело так: X [Ключ] [Значение]

Ответ №1:

Вы могли бы попробовать добавить ItemTemplate в свой ListBox:

 <ListBox ItemsSource="{Binding Path=yourDictionary}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <Label Content="{Binding Path=Value}"/>
                <Label Margin="5,0,0,0" Content="{Binding Path=Key}"/>
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>