2014-07-13 8 views
0

차트 용 타사 패키지 (Modern UI Charts)를 가지고 놀고 있습니다. 그것은 좋아 보이며 내가 필요한 것에 효과가있는 것 같습니다.블렌드에서 시각적 상태를 수정 하시겠습니까?

그러나 패키지와 함께 제공되는 예제 코드에서 모든 스타일과 템플릿은 모두 사용자 지정 (보이지 않는) 컨트롤이기 때문에 Generic.xaml의 리소스 사전에 있습니다.

그러나 일부 시각적 상태를 포함하여 Generic.xaml 파일에있는 내용을 대부분 무시하고 싶습니다. 특히, 사용하려는 차트에서 데이터가 바뀌면 애니메이션이 적용되고 그 다음에는 애니메이션이 적용됩니다. 나는 그것을 끄고 싶다.

블렌드의 템플릿이나 스타일을 편집하려고하면 기본 xaml의 코드 중 일부가 보이지만 시각적 인 것은 아닙니다. 그것들을 수정할 수있는 방법이 있습니까?

또는 어떻게 Generic.xaml을 완전히 무시하고 내 자신의 것으로 바꿀 수 있습니까?

+0

당신은 컨트롤을 상속 받고 있습니까? 또는 스타일과 템플릿을 다시 정의하고 싶습니까? – pushpraj

+0

스타일과 템플릿을 재정의하고 싶습니다. 특히 가능하다면 그 시각적 상태를 해제하십시오. – Nicros

답변

1

당신이 컨트롤을 상속하고 DefaultStyleKeyProperty.OverrideMetadata

하여 자신을 만드는 나는 당신의 구현에 대한 확실하지 않다 때 무시하기 쉽습니다. 일반적으로 관련 유형에 대한 스타일을 만들면 BasedOn 속성을 사용하지 않는 한 기존 스타일보다 우선합니다. 당신이 요소에 대해 기존 스타일에서 파생 의해

<Style TargetType="local:PieChart" > 
    ... your style 
</Style> 

는 기존 스타일

우선합니다 또는 특정 속성을 재정의하도록 선택할 수 위의 redfine 경우

예를

<Style TargetType="local:PieChart" BasedOn="{StaticResource BaseChartStyle}"> 
    <Setter Property="ChartAreaStyle" Value="{StaticResource PieChartChartAreaStyle}" /> 
    <Setter Property="PlotterAreaStyle" Value="{StaticResource PieChartPlotterAreaStyle}" /> 
</Style> 

by BasedOn="{StaticResource {x:Type local:PieChart}}"

<Style TargetType="local:PieChart" BasedOn="{StaticResource {x:Type local:PieChart}}"> 
    <Setter Property="ChartAreaStyle" Value="{StaticResource MyChartAreaStyle}" /> 
</Style> 

비슷한 방법으로 원하는 요소의 Template 속성을 자신의 버전으로 재정의 할 수 있습니다.