0
所以我有一個InkCanvas,我添加了「自定義筆劃」。如何刪除添加到只知道邊界矩形的WPF InkCanvas DrawingContext的自定義筆劃?
我在完全喪失作爲對擦除自招如何被添加到InkCanvas通過其的DrawingContext。 (谷歌一直沒有幫助:()假設我有一個邊界矩形的InkCanvas上的區域,我想要擦除,這怎麼可以做到?
(我很快得出結論,一次事情是畫在它的DrawingContext無法刪除 - 只有convered :()
自定義筆畫都以標準方式創建通過重寫中風DrawCore方法,例如,
// Draw Rectangle
public class RectangleStroke : Stroke
{
// Constructor
public RectangleStroke(StylusPointCollection pts)
: base(pts)
{
StylusPoints = pts;
}
protected override void DrawCore(DrawingContext drawingContext, DrawingAttributes drawingAttributes)
{
if (drawingContext == null)
{
throw new ArgumentNullException("drawingContext");
}
if (null == drawingAttributes)
{
throw new ArgumentNullException("drawingAttributes");
}
DrawingAttributes originalDa = drawingAttributes.Clone();
SolidColorBrush brush = new SolidColorBrush(drawingAttributes.Color);
brush.Freeze();
Pen pen = new Pen(brush, 1);
StylusPoint stp = StylusPoints[0];
StylusPoint sp = StylusPoints[1];
drawingContext.DrawRectangle(brush, pen, new Rect(new Point(sp.X, sp.Y), new Point(stp.X, stp.Y)));
}
}
自定義筆劃如何只知道邊界矩形?
感謝您的任何幫助或建議。