[英]Adding custom class elements into TreeView
我將嘗試解釋我一直在嘗試做的事情,但又想不出盡可能簡單的方法(例如,使用汽車)。 假設我的MainWindw.xaml.cs代碼中有一個自定義類(也可以包含三個以上的元素):
public class Car {
public string car_name { get; set; }
public string car_brand { get; set; }
public int car_year { get; set; }
}
現在,我想將Car實施到TreeView中,該外觀應如下所示:
->car_name
->car_brand
->car_year
因此,當我單擊car_name時,它將展開,並且car_brand和car_year是其子元素。 我還希望能夠添加多個,例如:
->car_name
->car_brand
->car_year
->car_name
->car_brand
->car_year
->car_name
->car_brand
->car_year
我不知道的是使用C#將自定義類實現到TreeView的正確方法是什么。 我嘗試了“綁定”的許多變體。 互聯網上有很多示例,但是我還沒有遇到任何可以真正簡化的示例,或者我已經看了太久了,有點發瘋了,無法看穿它。
<TreeView Name="myTree">
<TreeViewItem Header="{Binding car_name}">
<TreeViewItem Header="{Binding car_brand}"/>
<TreeViewItem Header="{Binding car_year}"/>
</TreeViewItem>
</TreeView>
我想像的C#在要添加新車時應該像這樣:
Car mycar1 = new Car({car_name="my car name", car_brand="my car brand", car_year=1999});
myTree.Add(mycar1);
如果有人可以簡單地向我解釋這一點,我將非常樂意。 我剛剛開始使用VisualStudio學習C#和XAML,這確實困擾了我。
無需綁定即可簡單地通過這種方式完成:
Car mycar1 = new Car("my car name", "my car brand", 1999);
TreeViewItem node = new TreeViewItem() { Header = mycar1.car_name};
node.Items.Add(new TreeViewItem() { Header = mycar1.car_brand });
node.Items.Add(new TreeViewItem() { Header = mycar1.car_year });
myTree.Items.Add(node);
每個節點都是汽車名稱,在節點上添加品牌和年份,然后像上面所做的那樣將整個節點添加到樹中。 請注意,這是我使用的Car類:
public class Car
{
public string car_name { get; set; }
public string car_brand { get; set; }
public int car_year { get; set; }
public Car(string name, string brand, int year)
{
car_brand = brand;
car_name = name;
car_year = year;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.