我不知道如何将饮料列表绑定到WPF TreeView。
struct Drink
{
public string Name { get; private set; }
public int Popularity { get; private set; }
public Drink ( string name, int popularity )
: this ( )
{
this.Name = name;
this.Popularity = popularity;
}
}
List<Drink> coldDrinks = new List<Drink> ( ){
new Drink ( "Water", 1 ),
new Drink ( "Fanta", 2 ),
new Drink ( "Sprite", 3 ),
new Drink ( "Coke", 4 ),
new Drink ( "Milk", 5 ) };
}
}
我搜索过网络,例如看到here。但这甚至意味着什么:ItemsSource="{x:Static local:TreeTest.BoatList}"
x:? static? local?
如何在xaml中的代码中指定集合?
答案 0 :(得分:4)
通常,您需要确保为UserControl或Window设置DataContext
,然后让“coldDrinks”成为在DataContext类中定义为属性的集合。
如果你这样做,那么所需要的只是:
<TreeView ItemsSource="{Binding ColdDrinks}" />
我强烈建议您阅读WPF's Data Binding model。充分理解这一点是使WPF真正令人愉快的关键。
旁注:鉴于您最近的问题以及您似乎正在采取的方法,您可能需要花一些时间来阅读MVVM和其他架构方法。即使您不使用MVVM,描述它的文章也可以帮助您“思考”WPF术语,这将有很大帮助。
我写了一整篇关于从Windows Forms style programming to WPF迁移的系列文章。它讨论了特定的WPF功能,以及为什么要改变你的想法,但是比大多数纯粹的“MVVM”文章介绍一些概念要慢一些。如果它有帮助,我会提到它。