Beispiel #1
0
 protected override void OnTemplateChanged(ControlTemplate oldTemplate, ControlTemplate newTemplate)
 {
     if (this.previousGrid == null)
     {
         return;
     }
     foreach (FrameworkElement frameworkElement in this.previousGrid.Children)
     {
         ExpandoListItem expandoListItem = frameworkElement as ExpandoListItem;
         if (expandoListItem != null)
         {
             expandoListItem.DataContext = (object)null;
         }
     }
     this.previousGrid = (Grid)null;
     base.OnTemplateChanged(oldTemplate, newTemplate);
 }
Beispiel #2
0
        private void UpdateGrid()
        {
            Grid grid = this.GetTemplateChild("PART_MainGrid") as Grid;
            bool flag = this.Orientation == Orientation.Vertical;

            if (grid == null)
            {
                return;
            }
            this.previousGrid = grid;
            foreach (FrameworkElement frameworkElement in grid.Children)
            {
                ExpandoListItem expandoListItem = frameworkElement as ExpandoListItem;
                if (expandoListItem != null)
                {
                    expandoListItem.Content = (object)null;
                }
            }
            grid.Children.Clear();
            grid.ColumnDefinitions.Clear();
            grid.RowDefinitions.Clear();
            int num = 0;

            for (int index = 0; index < this.Items.Count; ++index)
            {
                ExpandoListItemModel expandoListItemModel = this.Items[index] as ExpandoListItemModel;
                if (expandoListItemModel == null || !expandoListItemModel.IsForcedInvisible)
                {
                    ExpandoListItem expandoListItem = new ExpandoListItem();
                    expandoListItem.SetValue(AutomationElement.IdProperty, (object)("Expando_Item_" + (object)index));
                    expandoListItem.DataContext = (object)expandoListItemModel;
                    expandoListItem.Style       = this.ExpandoListItemStyle;
                    if (flag)
                    {
                        Grid.SetRow((UIElement)expandoListItem, num);
                    }
                    else
                    {
                        Grid.SetColumn((UIElement)expandoListItem, num);
                    }
                    grid.Children.Add((UIElement)expandoListItem);
                    if (flag)
                    {
                        RowDefinition rowDefinition = new RowDefinition();
                        rowDefinition.DataContext = (object)expandoListItemModel;
                        rowDefinition.Style       = this.ExpandoDefinitionStyle;
                        grid.RowDefinitions.Add(rowDefinition);
                    }
                    else
                    {
                        ColumnDefinition columnDefinition = new ColumnDefinition();
                        columnDefinition.DataContext = (object)expandoListItemModel;
                        columnDefinition.Style       = this.ExpandoDefinitionStyle;
                        grid.ColumnDefinitions.Add(columnDefinition);
                    }
                    if (grid.Children.Count > 1)
                    {
                        ExpandoSplitter expandoSplitter = new ExpandoSplitter();
                        expandoSplitter.SetValue(AutomationElement.IdProperty, (object)("Expando_Splitter_" + (object)index));
                        expandoSplitter.Style = this.ExpandoSplitterStyle;
                        if (flag)
                        {
                            expandoSplitter.VerticalAlignment = VerticalAlignment.Top;
                            Grid.SetRow((UIElement)expandoSplitter, num);
                        }
                        else
                        {
                            expandoSplitter.HorizontalAlignment = HorizontalAlignment.Left;
                            Grid.SetColumn((UIElement)expandoSplitter, num);
                        }
                        grid.Children.Add((UIElement)expandoSplitter);
                    }
                    ++num;
                }
            }
        }