private void AddDescriptor(UserDescriptor descriptor) { var viewModel = descriptor.Host == null?this.CreateInstance(this.authentication, descriptor, this.Owner) : descriptor.Host as UserTreeItemBase; viewModel.Parent = this; descriptor.Host = viewModel; }
private void RemoveDescriptor(UserDescriptor descriptor) { foreach (var item in this.Items.ToArray()) { if (item is UserTreeItemBase viewModel && viewModel.Descriptor == descriptor) { this.Items.Remove(viewModel); } } }
protected virtual UserTreeItemBase CreateInstance(Authentication authentication, UserDescriptor descriptor, object owner) { return(new UserTreeItemBase(authentication, descriptor, owner)); }