public void Apply(Rect layoutRect, ViewItem rootItem) { var center = new Point(layoutRect.Width / 2, layoutRect.Height / 2); LayoutPositions = new Dictionary<ViewItem, Point>(); PositionItem(rootItem, center); }
private void PositionItem(ViewItem parent, Point position) { LayoutPositions[parent] = position; }
private void ClearContainer(ViewItem container) { ItemMap.Remove(container.Content); container.Content = null; }
public void RemoveItemContainer(ViewItem container) { ItemsContainer.Children.Remove(container); }
internal void AddItemContainer(ViewItem container) { ItemsContainer.Children.Add(container); }
private void SetRootItem(object newValue) { if (RootItem != null) { RootItem.Owner = null; RootItem.ClearValue(ViewItem.ItemsSourceProperty); ItemsContainer.Children.Remove(RootItem); } if (ItemsContainer != null) { RootItem = new ViewItem() { Content = newValue, ContentTemplate = ItemTemplate, Owner = this }; if (ItemTemplate is HierarchicalDataTemplate) { var binding = (ItemTemplate as HierarchicalDataTemplate).ItemsSource; BindingOperations.SetBinding(RootItem, ViewItem.ItemsSourceProperty, binding); } ItemsContainer.Children.Add(RootItem); } }
internal void AddItemContainer(ViewItem container) { ItemsContainer.Children.Add(container); }
public void SetSelection(ViewItem ViewItem) { if (_selectedContainer == ViewItem) return; // clicked on already selected instance if (_selectedContainer != null) { _selectedContainer.IsSelected = false; } _selectedContainer = ViewItem; _selectedContainer.IsSelected = true; SelectedItem = ViewItem.Content; }
public void RemoveItemContainer(ViewItem container) { ItemsContainer.Children.Remove(container); }
private void PositionItem(ViewItem parent, Point position) { LayoutPositions[parent] = position; }
private void PrepareContainer(object modelItem) { var container = new ViewItem { Content = modelItem, Owner = Owner }; // Template if (ContentTemplate is HierarchicalDataTemplate) { var hTemplate = ContentTemplate as HierarchicalDataTemplate; container.ContentTemplate = hTemplate.ItemTemplate; var binding = hTemplate.ItemsSource; BindingOperations.SetBinding(container, ItemsSourceProperty, binding); container.DataContext = modelItem; } // Positioning //Dispatcher.BeginInvoke(() => //{ // var location = new Point(Canvas.GetLeft(this), Canvas.GetTop(this)); // location.X += ActualWidth; // location.Y += ActualHeight; // container.MoveItemBy(location, true); //}); }
private void ClearContainer(ViewItem container) { ItemMap.Remove(container.Content); container.Content = null; }