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 ) };
}
}
这样我就可以看到Treeview项目名称的Name属性。
最佳答案
Reed已经介绍了“构建自己的XAML”方法,但是仅为了说明FrameworkElementFactory方法,它看起来像这样。
首先,创建FEF:
var fef = new FrameworkElementFactory(typeof(TextBlock));
fef.SetBinding(TextBlock.TextProperty, new Binding("Name"));
然后创建一个VisualTemplate设置为该工厂的DataTemplate:
DataTemplate dt = new DataTemplate { VisualTree = fef };
尽管正如Reed所指出的那样,FrameworkElementFactory方法已被正式弃用,但它仍被合理地广泛使用,我想是因为构建XAML字符串感觉太麻烦了。 (尽管如果您使用的是非平凡的模板,那么FEF方法很快就会变得异常复杂!!)