어디에서 나는 디자인을 시작 사용자 지정 제어를 포함하는 자식 개체?
문제
내 생각에 이것은 재미있는 엔지니어링 수준의 질문입니다.
I 을 디자인하는 데 필요한 통제하는 선이 표시됩니다 차트.내가 원하는 무엇을 할 수 있는 디자이너를 사용하여 여러 개 추가 Pens
실제로 데이터를 설명하고 프레젠테이션 그래서 그것으로 끝 Xaml 무언가를 따라 이러한 라인:
<Chart>
<Pen Name="SalesData" Color="Green" Data="..."/>
<Pen Name="CostData" Color="Red" Data="..." />
...
</chart>
먼저 생각 확장 ItemsControl
대 Chart
클래스입니다.는 것이 나는 내가 가고 싶거나 나는 그것을에서 다른 방향으로 등장 Panel
?
주요 요구 사항은 그것을 사용할 수 있는 디자이너를 추가하지 않고 어떤 C#코드입니다.이를 위해서도 가능한 것,그것이 필요한지 그 구조에서 나무를 볼 모델입니다.다른 말로 하면,내가와 함께 작업을 했는 이에 Expression Blend 또는 Mobiform 오로라는 것을 선택할 수 있 차트에서 논리적이나 나무나를 선택하의 개인 펜 속성을 편집.
해결책
것으로 차트를 ItemsControl 및 ItemsPanel 수 캔버스(에 대한 몇 가지 빛을 사용하여 이동과 함께 그리드 ItemsPanel).고 각각의 펜 될 것입니다 CustomControl 에서 파생된 폴리 라인 클래스입니다.그 어떤 이해 되는가?
다른 팁
에 관심있는 사람들을 위해 자신의 통제에서 개인정 개발의 관점(에 명시된 바와 같이 원래 질문이)그리고 구조를 제안에 이 형식입니다.
<Chart>
<Chart.Pens>
<Pen Name="SalesData" Data="{Binding Name=SalesData}" />
<Pen Name="CostData">
<Pen.Data>
<PenData Y="12" X="Jan" />
<PenData Y="34" X="Feb" />
</Pen.Data>
</Pen>
</Chart.Pens>
</Chart>
대한해야 하는 노출 펜션에서 사용자 제어(고 싶지 않으로 이 파생 ItemsControl 제어).이 파생 사용자를 제어할 것이 캡슐화는 다른 컨트롤 일반적으로 그리드하는 장소에 레이블을 향하고,라벨을 위한 축 이름을 가능하게 캔버스에 대한 그리기 영역과 ItemsControl 의 항목을 표시한다.
을 찾는 사람들을 위해 갈 준비가 되 솔루션
을 찾는 사람들을 위해 갈 준비가되어 솔루션 그리고 확인에 대한 CodePlex VisiFire 의 WPF 차트 컨트롤.그것은 WPF 및 Silverlight 호환 가 Silverlight 앱 당신을 위해 데이터를 입력 및 스타일과가 생성되도록 XAML(또는 HTML)붙여 응용 프로그램입니다.
또 다른 옵션을 확장하는 것이 캔버스에 대한 차트 확장 형태에 대한 펜입니다.다음으로 동적으로 그릴 모양에 따라 색상/데이터의 속성입니다.