我不知道如何将饮料列表绑定到 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 中的代码中指定集合?
通常,您需要确保为 UserControl 或 Window 设置
DataContext
,然后将“coldDrinks”作为 DataContext 类中定义为属性的集合。
如果您这样做,那么所需要做的就是:
<TreeView ItemsSource="{Binding ColdDrinks}" />
我强烈建议阅读WPF 的数据绑定模型。充分理解这一点是让 WPF 变得真正有趣的关键。
旁注:鉴于您最近的问题以及您似乎正在采用的方法,您可能需要考虑花一些时间阅读 MVVM 和其他架构方法。即使您不使用 MVVM,描述它的文章也可能会帮助您用 WPF 术语“思考”,这将有很大帮助。
我写了一个关于从 Windows 窗体风格编程迁移到 WPF 的整个系列。它讨论了特定的 WPF 功能,以及为什么您应该改变您的思维方式,但介绍一些概念的速度比大多数纯“MVVM”文章要慢一些。我想我会提到它以防有帮助。