InkCanvas
클래스를 상속하는 클래스가 있습니다. 영상이 내 컬렉션 시각적 객체이며, Visual
속성은 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; }
}
: 나는 VisualChildrenCount
속성과 GetVisualChild
방법을 재정의 (override)됩니다. 나는 새로운 Stroke
(마우스의 무료 도면)을 그릴 때 스트로크가 추가됩니다 : 문제는 다음과 같다
void AddVisual(MyVisual visual)
{
if (visual == null)
throw new ArgumentNullException("visual");
visuals.Add(visual);
AddVisualChild(visual->Visual);
AddLogicalChild(visual->Visual);
}
: 나는 추가하고 표시 할 DrawingVisual
객체 (성능상의 이유로)를이 클래스를 사용 InkCancas하지만 이전 DrawingVisual (Z- 주문)에서 따라서 예를 들어 큰 사각형 아래에 획을 그릴 경우 획이 숨겨져 있기 때문에 아무것도 볼 수 없습니다.
이 부적절한 문제를 어떻게 해결할 수 있습니까?