[WPF] Не могу засунуть ComboBox в DataGrid
От: Ilya81  
Дата: 29.06.11 13:56
Оценка:
Нужно выводить несколько столбцов, один из которых — ComboBox. Если я пытаюсь использовать TemplateColumn, то ComboBox внутри выводится, и программно можно даже вывести его требуемое содержимое, но только он на действия пользователя вообще не реагирует: не раскрывается, элемент не выбрать и т. п. (только из программы можно переключить). Пробовал ComboBoxColumn, но он у меня не выводит вообще ничего, даже нет кнопки, чтоб открыть список. Вот так у меня эти варианты записаны
                    <DataGridTemplateColumn>
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <ComboBox ItemsSource="{Binding InterfacesToConnect}" MouseDown="ComboBox_MouseDown" Loaded="ComboBox_Loaded">
                                    <ComboBox.ItemTemplate>
                                        <DataTemplate>
                                            <StackPanel Orientation="Horizontal">
                                                <Label Content="{Binding Name}"/>
                                                <Button Command="{Binding Path=ConnectionCommand}" CommandParameter="{Binding Controls}" Content="{Binding CommandName}"/>
                                            </StackPanel>
                                        </DataTemplate>
                                    </ComboBox.ItemTemplate>
                                </ComboBox>
                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>
                    <DataGridComboBoxColumn ItemsSource="{Binding ElementName=Inputs, Path=InterfacesToConnect}" DisplayMemberPath="Name" IsReadOnly="False">
                    </DataGridComboBoxColumn>

Inputs — это ObservableCollection в DataGrid, InterfacesToConnect — вложенный ObservableCollection. Кнопку во варианте с ComboBoxColumn можно, в принципе, поместить рядом, но вот добиться нормальной работы пользовательского интерфейса не удаётся никак. Если это существенно, всё это в окне AvalonDock. Подскажите, пожалуйста, как сделать, чтоб раскрывающийся список нормально выводился.
Re: [WPF] Не могу засунуть ComboBox в DataGrid
От: Osaka  
Дата: 29.06.11 18:37
Оценка:
DataGridTemplateColumn.CellEditingTemplate
Re[2]: [WPF] Не могу засунуть ComboBox в DataGrid
От: Ilya81  
Дата: 30.06.11 05:53
Оценка:
O>DataGridTemplateColumn.CellEditingTemplate

Это я тоже уже пробовал и никакого толку. Что я ещё обнаружил — ComboBox вообще не принимает события мыши, т. е. ставлю в обработчике breakpoint, и до него программа не доходит. Хотя события мыши вроде bubbled, т. е. должны начинаться с самых внутренних компонентов. Где они успевают handle'иться — не понятно...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.