2012-02-01 57 views
0

我目前正在爲圖表創建主題。 除了其他的事情,我想讓酒吧系列酒吧有一個平坦的外觀(無國界)。 我想使它與隱式樣式一起工作,所以我添加了一個Style到BarDataPoint(沒有Key,因爲它需要通過隱式樣式工作),但它不適用。BarDataPoint的Implicity風格不適用

任何想法爲什麼它不適用? 是因爲應用了Palette中的DataPointStyle風格嗎?

我想要做的是改變BarDataPoint的外觀,但仍然應用調色板的顏色。並嘗試通過純XAML來完成這項工作(如果可能的話)。

爲了使這項工作,我看到的唯一方式是改變DataPointStyle(從Chart.Palette每個資源字典)擁有的TargetType設置爲BarDataPoint和模板設置爲我的模板實現:

<toolkit:Chart.Palette> 
    <toolkit:ResourceDictionaryCollection> 
     <ResourceDictionary> 
      <Style x:Key="DataPointStyle" TargetType="toolkit:BarDataPoint" BasedOn="{StaticResource BarDataPointStyle}"> 
       <Setter Property="Background" Value="Yellow" /> 
       <Setter Property="BorderBrush" Value="Black" /> 
      </Style> 
     </ResourceDictionary> 
     <ResourceDictionary> 
      <Style x:Key="DataPointStyle" TargetType="toolkit:BarDataPoint" BasedOn="{StaticResource BarDataPointStyle}"> 
       <Setter Property="Background" Value="Red" /> 
       <Setter Property="BorderBrush" Value="Black" /> 
      </Style> 
     </ResourceDictionary> 
    </toolkit:ResourceDictionaryCollection> 
</toolkit:Chart.Palette> 

但是,因爲這是用於Chart控件的隱式樣式,如果我有一個具有不同類型的系列的Char控件(例如帶有ColumnSeries的Chart),那麼這將如何工作?我不認爲DataPointStyle會在這種情況下工作,因爲它是針對BarDataPoint類型的(我想應用程序會崩潰)。

我被迫用不同的鍵創建不同的圖表樣式(每種樣式都將DataPointStyle更改爲目標不同的控件模板)?

但是,那麼,這將如何工作的幾個不同系列的圖表控件?

我也試圖使用工具包隱式風格:BarDataPoint在這樣的調色板的資源字典,但沒有成功:

<Setter Property="Palette"> 
     <Setter.Value> 
      <toolkit:ResourceDictionaryCollection> 
       <ResourceDictionary> 
        <SolidColorBrush x:Key="Background" 
            Color="#FFCA294D" /> 
        <Style TargetType="toolkit:BarDataPoint"> 
         <Setter Property="Template" 
           Value="{StaticResource BarDataPointTemplate}" /> 
         <Setter Property="Background" 
           Value="{StaticResource Background}" /> 
        </Style> 

我想看看像Jetpack的主題,但他們似乎並沒有做做我想做的事。

謝謝!

+0

如果你把x:Key – 2012-02-01 10:38:50

+0

抱歉,這不是隱含的嗎?我不明白你的意思。 – 2012-02-01 11:08:19

+0

如果你沒有指定'x:Key =「..」#: – 2012-02-01 12:53:44

回答