FrameworkElement
이라는 _frameworkElement에 대한 참조가 있습니다. OnRender
이벤트에서 drawingContext에 FrameworkElement
을 그려야합니다. 이처럼drawingContext에서 FrameworkElement를 그리는 방법은 무엇입니까?
는 : 어떤이 문제에 대한 _frameworkElement
상관 없음 면도 솔루션에 적용되는 변환 렌더링 고려 내가 필요로 무엇입니까
protected override void OnRender(DrawingContext drawingContext)
{
drawingContext. ??
base.OnRender(drawingContext);
}
? 그릴 것이다 선택 도구를 사용하여 여러 모양을 나는 그래픽 응용 프로그램이 때, 사용자가 도형을 그릴 수
, 선택 : 감사
편집
이유는 무엇의 OnRender 오버라이드 (override) 할 필요가 직사각형 선택 영역.
내가하는 일은 스테이지 캔버스에서 선택한 모양을 선택 영역으로 다시 복사하는 것입니다. 선택 영역으로 변환 한 후 사용자가 이동하고 크기를 조정할 수있는 캔버스 캔버스 스테이지에서 캔버스를 클릭 한 다음 스테이지에 모양을 다시 표시합니다. 캔버스.
문제는 : 캔버스에 캔버스에서 아이들을 제거 할 때
병목 현상이, Children.Remove & Children.Add은 사용자가 변환하는 형태의 많은 수를 선택 특별히 때, 구현하는 시간을 요할 것이다.
그래서?
나는의 OnRender
왜 그렇게할까요? WPF에서 OnRender()를 재정의해야하는 상황을 생각할 수 없습니다. 네가하려는 일에 대해 좀 더 자세히 알려줘. –
오버라이드가 필요한 상황이 있습니다. 마우스 위치 및 이벤트에 응답하는 라이브 데이터 표현 (상상해보십시오. 상상해보십시오)을 그리는 데 사용했습니다. 이것은 유효한 시나리오입니다. 그러나 도움을 받으려면 무엇을해야하는지 알고 있으면 도움이됩니다. :) – XamlZealot
OnRender()를 재정의해야하는 이유를 설명하기 위해 위의 EDIT를 참조하십시오. – simo