コード例 #1
0
        private TreeViewDataRow CreateDataRow(object item)
        {
            var dataRow = new TreeViewDataRow();

            FillDataRow(dataRow, item);
            return(dataRow);
        }
コード例 #2
0
        private void FillDataRow(TreeViewDataRow dataRow, object item)
        {
            dataRow.Id      = item.GetProperty(_idProperty);
            dataRow.Key     = item.GetProperty(_keyProperty);
            dataRow.Parent  = item.GetProperty(_parentProperty);
            dataRow.Image   = item.GetProperty(_imageProperty);
            dataRow.Value   = item.GetProperty(_valueProperty);
            dataRow.Display = item.GetProperty(_displayProperty);
            dataRow.Item    = item;

            this.InvokeControl(() => InvokeRenderItem(dataRow, item));
        }
コード例 #3
0
        private void FindAllChildren(TreeViewDataRow parent, ICollection <TreeViewDataRow> children)
        {
            children.Add(parent);

            foreach (TreeViewDataRow dataRow in _dataRows)
            {
                if (dataRow.Parent == parent.Key)
                {
                    FindAllChildren(dataRow, children);
                }
            }
        }
コード例 #4
0
        private void InvokeRenderItem(TreeViewDataRow dataRow, object item)
        {
            var value   = item.GetProperty(_valueProperty);
            var display = item.GetProperty(_displayProperty);

            var itemUpdateArgs = new RenderItemRoutedEventArgs(OnRenderItemEvent)
            {
                Item    = item,
                Value   = value,
                Display = display
            };

            RaiseEvent(itemUpdateArgs);

            dataRow.Item    = item;
            dataRow.Value   = itemUpdateArgs.Value;
            dataRow.Display = itemUpdateArgs.Display;
        }
コード例 #5
0
 private void RefreshDataRow(TreeViewDataRow dataRow)
 {
     FillDataRow(dataRow, dataRow.Item);
 }