Могу ли я создать элемент управления навигацией, как этот пример в WPF, используя TreeView? - PullRequest
0 голосов
/ 09 июля 2010

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

Можно ли это сделать в виде дерева?Если да, есть идеи, как мне начать?

Если бы не древовидное представление, то как мне достичь того же?

Пример навигации

Родительский узел имеет стиль, отличный от дочернего, и в некоторых случаях родительский узел имеет дочерние узлы, а некоторые - нет.Я не уверен, как оформить элемент управления, который придаст мне такой же вид.Любой совет будет принята с благодарностью.

Спасибо,

1 Ответ

1 голос
/ 09 июля 2010

Поскольку вы можете стилизовать различные узлы древовидной структуры, как вам нравится, ответ - да, вы можете.Вы должны привязать древовидное представление к IEnumerable<A>, где каждый объект типа A будет иметь IEnumerable<B> (который может быть пустым).

Затем вы можете применить один стиль к каждому элементу типа A,и другой стиль для каждого элемента типа B. В XAML в TreeView.Resources поместите два HierarchicalDataTemplate с атрибутами DataType.Например, если у вас есть IEnumerable of Categories, и у каждой категории есть свойство Items, которое является IEnumerable of Items, вы можете написать:

<TreeView.Resources>
    <HierarchicalDataTemplate DataType="{x:Type core:Category}">
    <!--Content here-->
        <HierarchicalDataTemplate.ItemsSource>
            <Binding Path="ContextAssociations"/>
        </HierarchicalDataTemplate.ItemsSource>
    </HierarchicalDataTemplate>
    <HierarchicalDataTemplate DataType="{x:Type core:Item}">
        <!--Content here-->
    </HierarchicalDataTemplate>
</TreeView.Resources>
...