Пример #1
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)
         };
      }
Пример #2
0
        internal ContentPresenter CreateChildContentPresenter(object item)
        {
            if (item == null)
                return null;

            ContentPresenter cp = FindChildContentPresenter(item);

            if (cp != null)
                return cp;

            // the actual child to be added.  cp.Tag is a reference to the TabItem
            cp = new ContentPresenter();
            cp.Content = (item is TabItem) ? (item as TabItem).Content : item;
            cp.ContentTemplate = this.SelectedContentTemplate;
            cp.ContentTemplateSelector = this.SelectedContentTemplateSelector;
            cp.ContentStringFormat = this.SelectedContentStringFormat;
            cp.Visibility = System.Windows.Visibility.Collapsed;
            cp.Tag = (item is TabItem) ? item : (this.ItemContainerGenerator.ContainerFromItem(item));
            ItemsHolderPanel.Children.Add(cp);
            cp.ApplyTemplate();
            return cp;
        }