Exemplo n.º 1
0
 public FREDrawingVisual(object c)
 {
     this.context = c.Wrap <IFrameworkRenderElementContext>();
     using (var dc = RenderOpen()) {
         context.Render(dc);
         var controls = new[] { context }.Concat(RenderTreeHelper.RenderDescendants(context));
         foreach (var ctrl in controls)
         {
             var rcbc = ctrl.Wrap <IRenderControlBaseContext>();
             if (rcbc == null)
             {
                 continue;
             }
             dc.PushTransform(rcbc.GeneralTransform);
             dc.DrawRectangle(new VisualBrush(rcbc.Control), null, new Rect(new Point(0, 0), rcbc.RenderSize));
             dc.Pop();
         }
         dc.Close();
     }
 }
Exemplo n.º 2
0
 static bool isVisible(IFrameworkRenderElementContext context)
 {
     return(context.Visibility.HasValue
         ? context.Visibility == Visibility.Visible
         : context.Factory.Visibility == Visibility.Visible);
 }
Exemplo n.º 3
0
 public static bool IsVisible(IFrameworkRenderElementContext context)
 {
     return(isVisible(context) && context.ElementHost != null && RenderTreeHelper.RenderAncestors(context).Select(x => x.Wrap <IFrameworkRenderElementContext>()).All(x => isVisible(x)));
 }