Beispiel #1
0
        private void DisplayAttributeGrid(TreeViewItem item)
        {
            grid.ItemsSource = null;
            if (item != null)
            {
                ROMNode node = (ROMNode)item.Tag;
                if (node != null)
                {
                    List <ROMAttrData> table = new List <ROMAttrData>();
                    Dictionary <string, Dictionary <string, string> > allAttrs = node.GetAllAttributes();

                    SortedDictionary <string, KeyValuePair <string, Dictionary <string, string> > > sorted = new SortedDictionary <string, KeyValuePair <string, Dictionary <string, string> > >();
                    foreach (KeyValuePair <string, Dictionary <string, string> > kvp in allAttrs)
                    {
                        sorted.Add(kvp.Key, kvp);
                    }

                    foreach (string attr in sorted.Keys)
                    {
                        ROMAttrData row = new ROMAttrData();
                        Dictionary <string, string> attrValuePair = allAttrs[attr];
                        row.Attribute = attr;
                        row.Value     = attrValuePair["value"];
                        foreach (KeyValuePair <string, string> kvp in attrValuePair)
                        {
                            if (kvp.Key != "value")
                            {
                                if (row.SubValues == null)
                                {
                                    row.SubValues = new ObservableCollection <string>();
                                }
                                row.SubValues.Add(kvp.Key + ": " + kvp.Value);
                            }
                        }
                        table.Add(row);
                    }

                    FillGrid(table);
                }
            }
        }