Exemplo n.º 1
0
 private static void ResetVisualState(ContentPresenter objectToPrint, PrintCapabilities printCaps)
 {
     objectToPrint.Width = double.NaN;
     objectToPrint.UpdateLayout();
     objectToPrint.LayoutTransform = new ScaleTransform(1, 1);
     Size size = new Size(printCaps.PageImageableArea.ExtentWidth,
                          printCaps.PageImageableArea.ExtentHeight);
     objectToPrint.Measure(size);
     objectToPrint.Arrange(new Rect(new Point(printCaps.PageImageableArea.OriginWidth,
                           printCaps.PageImageableArea.OriginHeight), size));
 }
Exemplo n.º 2
0
        private static void ResetVisualState(ContentPresenter objectToPrint, PrintCapabilities printCaps, bool wasVirtualized)
        {
            objectToPrint.Width = double.NaN;
            objectToPrint.UpdateLayout();
            objectToPrint.LayoutTransform = new ScaleTransform(1, 1);
            Size size = new Size(printCaps.PageImageableArea.ExtentWidth,
                                 printCaps.PageImageableArea.ExtentHeight);
            objectToPrint.Measure(size);
            objectToPrint.Arrange(new Rect(new Point(printCaps.PageImageableArea.OriginWidth,
                                  printCaps.PageImageableArea.OriginHeight), size));

            if (!wasVirtualized) return;
            var dg = objectToPrint.FindChild<DataGrid>();
            dg.EnableRowVirtualization = true;
            dg.EnableColumnVirtualization = true;
            VirtualizingPanel.SetIsVirtualizing(dg, true);
        }
Exemplo n.º 3
0
        protected override void OnItemsChanged(NotifyCollectionChangedEventArgs e)
        {
            base.OnItemsChanged(e);

            switch (e.Action)
            {
                case NotifyCollectionChangedAction.Add:
                case NotifyCollectionChangedAction.Reset:
                case NotifyCollectionChangedAction.Replace:
                    // fixup all items default width
                    UpdateItemWidth();
                    UpdateItemHeight();
                    break;
                case NotifyCollectionChangedAction.Remove:
                    break;
            }

            // reset headers
            UIElementCollection Headers = HeadersPanel.Children;
            Headers.Clear();
            foreach (PivotItem item in Items)
            {
                ContentPresenter ctrl = new ContentPresenter();
                ctrl.Content = item.Header;
                ctrl.ContentTemplate = this.UnselectedHeaderTemplate;
                ctrl.UpdateLayout();
                Headers.Add(ctrl);
            }

            // invalidate the control
            if (null != ScrollView)
                ScrollView.Invalidate();

            // first inserted ?
            if ((SelectedIndex < 0) && (Items.Count > 0))
                SelectedIndex = 0;

            // invalid selected item ?
            if (!Items.Contains(SelectedItem) && (Items.Count > 0))
                SelectedIndex = 0;
        }
Exemplo n.º 4
0
      // captures a snapshot of the given presenter to a cached bitmap 
      private Image _captureSnapshot(ContentPresenter presenter, bool hidePresenter) {
         if (hidePresenter) presenter.Visibility = Visibility.Hidden;
         var content = presenter.Content as FrameworkElement;
         if (content == null) return null;

         // force full layout and capture snapshot
         presenter.ApplyTemplate();
         presenter.UpdateLayout();
         return new Image { 
            Source = ImageServices.CaptureSnapshot(content)
         };
      }