加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何在树视图的代码中设置WPF datatemplate?

发布时间:2020-12-15 19:35:19 所属栏目:百科 来源:网络整理
导读: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; }}ListDrink coldDrinks = new ListDr
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 ) };
        }
    }

这样我就可以看到树视图项名称的Name属性.

解决方法

Reed已经介绍了“构建自己的XAML”方法,但只是为了提供FrameworkElementFactory方法的说明,它看起来像这样.

首先,创建FEF:

var fef = new FrameworkElementFactory(typeof(TextBlock));
fef.SetBinding(TextBlock.TextProperty,new Binding("Name"));

然后创建一个DataTmplate,其VisualTree设置为该工厂:

DataTemplate dt = new DataTemplate { VisualTree = fef };

虽然Reed注意到FrameworkElementFactory方法已经被正式弃用,但它仍然被广泛使用,我想因为构建XAML字符串感觉非常糟糕. (尽管如果你有一个非平凡的模板,FEF方法会迅速变得非常复杂……!)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读