Exemple #1
0
        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);
        }
Exemple #2
0
 private void PositionItem(ViewItem parent, Point position)
 {
     LayoutPositions[parent] = position;
 }
Exemple #3
0
        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);
 }
Exemple #10
0
 private void PositionItem(ViewItem parent, Point position)
 {
     LayoutPositions[parent] = position;
 }
Exemple #11
0
        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);
            //});
        }
Exemple #12
0
        private void ClearContainer(ViewItem container)
        {
            ItemMap.Remove(container.Content);

            container.Content = null;
        }