2

VisualBrushを持っていて、このVisualBrushを図面として必要としています。誰もがこれを行う方法を知っていますか?ヒントをありがとう!

4

2 に答える 2

5

XAMLバージョンは次のとおりです。

<GeometryDrawing Geometry="M0,0 L1,0 1,1 0,1 Z">
  <GeometryDrawing.Brush>
    <VisualBrush>
      ...
    </VisualBrush>
  </GeometryDrawing.Brush>
</GeometryDrawing>
于 2010-06-05T01:47:03.600 に答える
2

VisualBrushaはaとは無関係であるため、あなたの質問は実際には意味がありませんDrawing()を使用するとより意味がありDrawingBrushます。ただし、をDrawing使用しVisualBrushてペイントすることで作成できます。そのようなものが機能するはずです:

public static Drawing GetDrawing(TileBrush brush)
{
    DrawingVisual drawingVisual = new DrawingVisual();
    DrawingContext drawingContext = drawingVisual.RenderOpen();
    drawingContext.DrawRectangle(brush, new Pen(Brushes.Transparent, 0.0), brush.ViewPort);
    drawingContext.Close();
    return drawingVisual.Drawing;
}

TileBrush(これは、だけでなく、から継承されたすべてのブラシに有効ですVisualBrush

于 2010-06-01T18:42:44.897 に答える