将DataTable作为ListView数据源

将DataTable作为ListView数据源

无废话,看代码:
public MainWindow()
{
InitializeComponent();
GridView view = new GridView();
lvw1.View = view;
lvw1.ItemsSource = _table.DefaultView;

        GridViewColumn col = new GridViewColumn();
        col.Header = "姓名";
        col.Width = 150;
        col.CellTemplate = CreateLabel("Name");
        view.Columns.Add(col);

        col = new GridViewColumn();
        col.Header = "性别";
        col.Width = 150;
        col.CellTemplate = CreateLabel("Gender");
        view.Columns.Add(col);


        _table.Columns.Add("Name", typeof(string));
        _table.Columns.Add("Gender", typeof(string));

    }
    private DataTable _table = new DataTable();


    private void AddDataButton_Click(object sender, RoutedEventArgs e)
    {
        _table.Rows.Add("张三", "南");
    }


    private DataTemplate CreateLabel(string prop)
    {
        DataTemplate ret = new DataTemplate() { DataType = typeof(TextBlock) };
        FrameworkElementFactory fef = new FrameworkElementFactory(typeof(TextBlock));
        Binding binding = new Binding();
        binding.Path = new PropertyPath(prop);
        fef.SetBinding(TextBlock.TextProperty, binding);
        fef.SetValue(Control.ForegroundProperty, new SolidColorBrush(Colors.Red));
        ret.VisualTree = fef;
        return ret;
    }
  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页

打赏

天外怪魔

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者