ADO Entity Framework 4 для WPF Datagrid. DatagridComboBox кошмар - PullRequest
0 голосов
/ 13 мая 2010

Сетка данных WPF, похоже, будет работать, но реализация выпадающего списка не работает прямо из конструктора. Так что я остался бродить по XAML, случайным образом меняя вещи, пытаясь заставить его работать.

Проблемы многочисленны. Я хочу отобразить отношение внешнего ключа (с раскрывающимся списком) вместо набора чисел для выбора. Кажется, это не должно быть так сложно.

Я могу получить правильные значения для отображения (их описание вместо идентификатора), но таблица сходит с ума, думая, что все значения были изменены. Если я выбираю раскрывающийся список, он не позволяет мне редактировать что-либо еще.

Я хочу назвать это ошибкой .NET, но, поскольку я новичок в сетях передачи данных WPF, вероятно, это только я. Вот код.

                            <DataGridComboBoxColumn Header="Make Up" ItemsSource="{Binding Source={StaticResource materialMakeUpTypesViewSource}}"
                                        DisplayMemberPath="Description" TextBinding="{Binding Path=MaterialMakeUpType.Description}"
                                        SelectedItemBinding="{Binding Path=MaterialMakeUpType.Description}" SelectedValueBinding="{Binding Path=MaterialMakeUpType.ID}" />  

1 Ответ

0 голосов
/ 14 мая 2010

Это просто сбивало с толку из-за разных вариантов.

ItemSource был прав. DisplayMemberPath, справа. TextBinding не был необходим и на самом деле вызывал множество визуальных артефактов. SelectedItemBinding не был необходим. Мне пришлось добавить SelectedValuePath.

В любом случае, это работает как задумано.

                            <DataGridComboBoxColumn Header="Make Up" ItemsSource="{Binding Source={StaticResource materialMakeUpTypesViewSource}}"
                                        SelectedValuePath="ID"
                                        DisplayMemberPath="Description"
                                        SelectedValueBinding="{Binding Path=makeup}" />   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...