【问题标题】:binding a list of class to a data grid UWP将类列表绑定到数据网格 UWP
【发布时间】:2021-03-04 10:35:27
【问题描述】:

我想在数据网格中显示这个对象(节点)(坐标是一个自定义类,字面上描述一个坐标)-


 public class Node
    {
        [JsonRequired]
        private bool finished;
        [JsonRequired]
        private readonly string type;
        [JsonRequired]
        private coordinate starting_point = null;
        [JsonRequired]
        private string ID = "";
        [JsonRequired]
        public coordinate Final_Dest = null;
        [JsonRequired]
        public List<coordinate> check_points = new List<coordinate>();
        [JsonRequired]
        private string Metadata = "";
        [JsonRequired]
        private readonly SimpleMarkerSymbol symbol;
        [JsonRequired]
        private int Vmax;
        [JsonRequired]
        public int Amax;
        [JsonRequired]
        private int slope_max;
        [JsonRequired]
        private int slope_min;
        [JsonRequired]
        private int terrein_rank_reject;
        [JsonRequired]
        private int affinity_to_stay_in_group;
        [JsonRequired]
        public int GroupID;
        [JsonRequired]
        public bool coomplitionflag = false;

这就是我试图做的 -

 protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);
            selected_nodes = (comboclass)e.Parameter;
            postioning_index = selected_nodes.Get_index();
            Node[] array_of_nodes = selected_nodes.Get_node_array();
            dataGrid.ItemsSource = Create_list(array_of_nodes);//this function creates a list of nodes          
        }
        public static List<Node> Create_list(Node[] array_nodes)
        {
            var node_coll = new List<Node>();
            for (int i = 0; i < array_nodes.Length; i++)
            {
                node_coll.Add(array_nodes[i]);
            }
            return node_coll;
        }

由于某种原因,当我执行它时,它只在数据网格上显示字段类型

【问题讨论】:

  • 您是在 xaml 中还是在后面的代码中设置了 AutoGenerateColumns="true"?
  • 是的,它仍然不起作用):

标签: c# uwp datagrid


【解决方案1】:

将类列表绑定到数据网格 UWP

如果要绑定Node实例,需要实现公共字段的set get方法。
请像下面这样编辑您的课程。

public class Node
{
    public string Title { get; set; }
    public coordinate Final_Dest { get; set; }   
    .......
}

更多详情请参考Data binding in depth文档。

【讨论】:

  • 它部分工作,因为对象坐标显示为 = SimuPro.coordinate
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-30
  • 1970-01-01
  • 1970-01-01
  • 2016-11-13
  • 1970-01-01
  • 2012-06-13
  • 2021-07-12
相关资源
最近更新 更多