2016-12-30 14 views
2

저는 많은 다른 원형 차트에 적용하려는 응용 프로그램 자원의 스타일을 가지고 있습니다. 스타일은 다음과 같습니다.응용 프로그램 자원의 WPF 스타일

<Style x:Key="aaa" TargetType="{x:Type nm:CustomChartControl}"> 
    <Setter Property="..." Value="..." /> 
    <!-- etc --> 
    <nm:CustomChartControl.Series> 
    <nm:PieSeries /> <!-- PROBLEM --> 
    </nm:CustomChartControl.Series> 
</Style> 

단순함을 위해 더 많은 특성이 있습니다. 이 모든 것이 잘 작동합니다. 자, 파이 중 일부는 슬라이스 (파선)에 대한 배경을 채우는 데 다른 "모델"을 가져야하며, 문제가 발생했습니다.

특정 차트에서 nm : PieSeries에 대한 모델을 (런타임에) 설정하면이 모델은 응용 프로그램에 표시된 다른 모든 파이에도 적용됩니다. 마치 하나의 인스턴스 만있는 것처럼 스타일을 적용한 모든 파이에서 사용됩니다.

nm의 새로운 인스턴스를 만들려면 어떤 방법이 있을까요? PieSeries가 새로운 컨트롤에 적용될 때마다?

+0

''라는 별도의 리소스를 만들고'Value = "{StaticResource NonSharedPieSeries}"/>'로 사용해보십시오. –

+0

@Ed Plunkett 그것은 Value = {Binding Source = {staticResource ...}를 사용해야 만하는 속임수였습니다. 답을 수정하고 게시하면 받아 들일 수 있습니다. – Goran

답변

0

당신 수도 별도의 비 공유 자원으로 PieSeries를 만들어보십시오 :

<nm:PieSeries x:Shared="False" x:Key="NonSharedPieSeries" /> 

그리고 스타일에 해당 자원을 사용

Value="{Binding Source={StaticResource NonSharedPieSeries}}" 

(... 감사의 영업 이익 그것을 내버려 두는 방법에있는 나의 과오를 정정하십시오 Value).