2
我有一個繼承InkCanvas
類的類。我重寫了VisualChildrenCount
屬性和方法GetVisualChild
:繪圖描邊和DrawingVisual在一個自定義的InkCanvas
Visual GetVisualChild(int index)
{
if (index == 0)
{
return InkCanvas.GetVisualChild(index);
}
return visuals[index - 1].Visual;
}
int VisualChildrenCount
{
get { return visuals.Count + InkCanvas.VisualChildrenCount; }
}
哪裏視覺效果是我收集的視覺對象和Visual
屬性返回DrawingVisual
對象。 我使用這個類的添加和顯示DrawingVisual
對象(性能原因):
void AddVisual(MyVisual visual)
{
if (visual == null)
throw new ArgumentNullException("visual");
visuals.Add(visual);
AddVisualChild(visual->Visual);
AddLogicalChild(visual->Visual);
}
的問題如下:當我繪製一個新Stroke
(用鼠標在無圖)該行程被添加到InkCancas,但在之前的DrawingVisual(Z順序)下,因此如果我在一個大矩形下繪製筆畫,我看不到任何東西,因爲筆畫是隱藏的。
我該如何解決這個鬼祟的問題?