第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

以編程方式綁定到樹視圖在 UWP 中不起作用

以編程方式綁定到樹視圖在 UWP 中不起作用

C#
慕標(biāo)琳琳 2023-08-13 15:41:28
我正在按照這篇文章嘗試以編程方式將數(shù)據(jù)綁定到樹視圖(我在 1903)。在一個(gè)全新的 UWP 應(yīng)用程序中,我有以下代碼:public MainPage(){    this.InitializeComponent();    var items = new List<Item>();    var rootItem = new Item();    rootItem.Name = "Root Item";    rootItem.Children.Add(new Item() { Name = "test child 1" });    items.Add(rootItem);    var treeView = new TreeView();    treeView.ItemsSource = items;    stackPanel.Children.Add(treeView);}Item看起來像這樣:public class Item{    public string Name { get; set; }    public ObservableCollection<Item> Children { get; set; } = new ObservableCollection<Item>();    public override string ToString()    {        return Name;    }}這似乎與上面文章中概述的結(jié)構(gòu)完全相同。但是,當(dāng)我運(yùn)行該應(yīng)用程序時(shí),我得到以下信息:我的猜測是我需要做一些事情,或者設(shè)置一些東西來告訴這個(gè)樹視圖,或者它有子項(xiàng)的集合 - 但我看不出那可能是什么。
查看完整描述

2 回答

?
慕少森

TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊

您應(yīng)該按照文檔ItemTemplate中的說明創(chuàng)建一個(gè)。

您可以使用XamlReader類以編程方式執(zhí)行此操作。像這樣的東西:

const?string?Xaml?=?"<DataTemplate?xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"><TreeViewItem?ItemsSource=\"{Binding?Children}\"?Content=\"{Binding?Name}\"/></DataTemplate>";
treeView.ItemTemplate?=?XamlReader.Load(Xaml)?as?DataTemplate;


查看完整回答
反對 回復(fù) 2023-08-13
?
三國紛爭

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超7個(gè)贊

如果你使用C#構(gòu)建TreeView,我建議使用遍歷的方式添加TreeViewNode。


由于缺少指示,TreeView 不會(huì)自動(dòng)處理 Item 的 Children。在您提供的文檔中,TreeView 有一個(gè)DataTemplate指令,因此子級(jí)可以渲染。


您可以像這樣更改代碼:


public MainPage()

{

    this.InitializeComponent();

    var items = new List<Item>();

    var rootItem = new Item();

    rootItem.Name = "Root Item";

    rootItem.Children.Add(new Item() { Name = "test child 1" });

    items.Add(rootItem);

    var treeView = new TreeView();


    foreach (var root in items)

    {

        var rootNode = new TreeViewNode() { Content = root.Name };

        if (root.Children.Count > 0)

        {

            foreach (var child in root.Children)

            {

                rootNode.Children.Add(new TreeViewNode() { Content = child.Name });

            }

        }

        treeView.RootNodes.Add(rootNode);

    }

    stackPanel.Children.Add(treeView);

}

此致。


查看完整回答
反對 回復(fù) 2023-08-13
  • 2 回答
  • 0 關(guān)注
  • 187 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)