private TreeViewDataRow CreateDataRow(object item) { var dataRow = new TreeViewDataRow(); FillDataRow(dataRow, item); return(dataRow); }
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)); }
private void FindAllChildren(TreeViewDataRow parent, ICollection <TreeViewDataRow> children) { children.Add(parent); foreach (TreeViewDataRow dataRow in _dataRows) { if (dataRow.Parent == parent.Key) { FindAllChildren(dataRow, children); } } }
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; }
private void RefreshDataRow(TreeViewDataRow dataRow) { FillDataRow(dataRow, dataRow.Item); }