2009-10-31 4 views
1

현재 WPF를 사용하여 사용자 인터페이스를 만들고 있는데 내 창에 파이 차트를 표시하려고합니다. 내가 볼 수있는 한 사용자 정의 컨트롤을 만드는 것입니다. 기존 컨트롤에 스타일이나 템플릿을 적용하는 것으로 충분할 것입니다. 사용자 지정 컨트롤에 대한 몇 가지 기사를 읽었으며 자세한 설명을 제공하는 모든 것들은 매우 다른 방법을 사용하는 것 같습니다.WPF 사용자 지정 컨트롤 만들기

다른 작성자는 Control, UserControl 또는 Canvas 중에서 사용자 지정 컨트롤 클래스를 파생시킵니다. 렌더링은 OnRender 및 OnApplyTemplate을 비롯한 여러 위치에서 DrawingVisual, GeometryDrawing 또는 Shape와 같은 여러 가지 방법 중 하나를 사용하여 수행됩니다. 지금은 매우 혼란스러워하는 화면에 몇 가지 모양을 넣는 여러 가지 방법이 많은 것처럼 보입니다.

나는 파이의 쐐기 중 하나가 클릭 될 때마다 발생하는 이벤트를 노출시키는 간단한 파이 차트입니다.

여기에 대해 일반적으로 동의하는 "최선의"방법이 있습니까?

답변

2

WPF Toolkit에는 차트 컨트롤이 포함되어 있습니다. 소스 코드도 사용 가능하므로 영감을 얻기 위해 소스 코드를 살펴 보시기 바랍니다. 나는 그것을 많이 조사하지는 않았지만 당신이 추구하는 것이 이미 구현되어있을 수도 있습니다.

WPF의 사용자 지정 컨트롤은 일반적으로 WPF Control Development Unleashed 복사본을 가져 오는 것이 좋습니다. 나는 그것을 통해 절반 방법에 대해 그리고 나는 그것이 아주 좋은 말을해야합니다. 자체 컨트롤을 만드는 방법과 파생 클래스를 선택하는 방법에 대해 설명합니다. 또한 저자는 이 아니라면 자신 만의 컨트롤을 만들 수 있다고 설명하고 슬라이더 나 ListBox와 같은 가장 일반적인 WPF 컨트롤을 원본처럼 보이지 않는 아름다운 시각적 컨트롤로 바꾸는 데 훌륭한 역할을합니다. 예를 들어, 그는 ListBox를 가져와 레이더 화면으로 바꾸어 보트와 잠수함이 올바르게 배치되었음을 보여줍니다. 심지어는 스위핑 원뿔도 생략되지 않았습니다. 나는 당신이 달성하려고하는 것이 같은 종류의 트릭을 사용하여 수행 될 수 있다고 생각합니다.

+0

실제로 툴킷에는 차트가 포함되어 있습니다. 차트가 포함되어 있지 않은 경우 필요에 따라 확실하게 다시 템플릿을 작성할 수 있습니다. 그러나 차트 작성은 미리보기 릴리스에만 포함되어 있습니다. – Egor

+0

그래; 거의 항상 컨트롤을 다른 것으로 리 스타일/템플릿으로 만들 수 있습니다. 그러나 항상 그것을 수행하는 가장 좋은 방법입니까? 보트로 레이더 컨트롤을 원한다면 ListBox 스타일을 사용하는 것이 사용자 정의 컨트롤을 만드는 것보다 훨씬 어려울 것 같습니다. –

1

코드 플렛폼의 wpf 툴킷을 확인하십시오. 그들은 로드맵에 차트 컨트롤을 가지고 있습니다.

관련 문제