@IvankoPo

Как использовать DataBinding элемента TreeView в UWP?

В проекте нужно привязать TreeView к модели.
Windows 10 1803
VS 2017
Проект на UWP
Изначально у элемента TreeView небыло свойства ItemsSource
Нагуглил и подключил данные пакеты https://docs.microsoft.com/ru-ru/uwp/toolkits/winu...
Свойство ItemsSource появилось и есть пример датабиндига
Далее юзаю пример от сюда https://docs.microsoft.com/en-us/windows/uwp/desig...
Модель
public class Item
    {
        public string Name { get; set; }
        public ObservableCollection<Item> Children { get; set; } = new ObservableCollection<Item>();

        public override string ToString()
        {
            return Name;
        }
    }

Элемент TreeView с шаблоном элемента
<controls:TreeView Name="DessertTre" Width="300"
                      SelectionMode="Multiple"
                      ItemsSource="{x:Bind dataSource}">
                    <controls:TreeView.ItemTemplate>
                        <DataTemplate x:DataType="local:Item">
                            <controls:TreeViewItem ItemsSource="{x:Bind Children}"
                                      Content="{x:Bind Name}"/>
                        </DataTemplate>
                    </controls:TreeView.ItemTemplate>
                </controls:TreeView>

Инициализация источника данных
public sealed partial class MainPage : Page
    {
        private ObservableCollection<Item> dataSource = new ObservableCollection<Item>();

        public MainPage()
        {
            this.InitializeComponent();
            
            Item flavorsCategory = new Item()
            {
                Name = "Flavors",
                Children =
                {
                    new Item() { Name = "Vanilla" },
                    new Item() { Name = "Strawberry" },
                    new Item() { Name = "Chocolate" }
                }
            };
            dataSource.Add(flavorsCategory);


        }

Тестирую
Во первых нету стрелочки для дочерних элементов, во вторых баг в отображении при наведенни мыши выделяется непонятная область5bd73ab1aaa9e281701685.png
Слева TreeView с захордкоженными элементами в XAML
В Центри под слайдером то что пытался сделать при помощи databinding
  • Вопрос задан
  • 177 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы