тем не менее, установите высоту расширяемого элемента так, чтобы она выглядела в одном ряду, например, Высота = 18d.

аюсь поместить TreeView внутри ComboBox в WPF, чтобы при удалении комбинированного окна вместо плоского списка пользователь получал иерархический список, и любой выбранный им узел становился выбранным значением ComboBox.

Я довольно долго искал, как это сделать, но лучшее, что я мог найти, - это только кусочки потенциальных решений, которые, потому что я смехотворно новичок в WPF, я не мог сделать работу.

У меня достаточно знаний о WPF и привязке данных, чтобы я мог получить свои данные в виде дерева и даже получить вид дерева внутри поля со списком, однако то, что я смог выполнить, не работает должным образом. Я приложил скриншот, чтобы показать, что я имею в виду. На снимке экрана поле со списком «открыто», поэтому в виде дерева внизу я могу выбрать узел, а в виде сверху «сверху» рисуется верхняя часть поля со списком, где я хочу текст / значение выбранного узла в дереве, которое будет отображаться.

По сути, я не знаю, как это сделать, как получить текущий выбранный узел древовидной структуры, чтобы он возвращал свое значение обратно в выпадающий список, который затем использует его в качестве выбранного значения?

Вот код xaml, который я сейчас использую:

        <ComboBox Grid.Row="0" Grid.Column="1"  VerticalAlignment="Top">
        <ComboBoxItem>
            <TreeView ItemsSource="{Binding Children}" x:Name="TheTree">
                <TreeView.Resources>
                    <HierarchicalDataTemplate DataType="{x:Type Core:LookupGroupItem}" ItemsSource="{Binding Children}">
                        <TextBlock Text="{Binding Path=Display}"/>                            
                    </HierarchicalDataTemplate>
                </TreeView.Resources>
            </TreeView>
        </ComboBoxItem>
    </ComboBox>

Скриншот:

Ответы на вопрос(6)

Ваш ответ на вопрос