2014-07-24 84 views
6

我已經找了一個解決我的問題在谷歌幾個小時,但沒有可用的顏色沒有太多的信息來找到。WPF工具包拾色器編輯模板現在

我正在使用WPF Toolkit v2.2.1。

我在我的WPF應用程序,它需要被定製風格的顏色選擇器控制。我正在編輯App.xaml中拾色器的控件模板以應用於所有拾色器。

只要我選擇使用該模板的所有可用的顏色從顏色選擇器dissapear。我試圖從代碼中分配新的可用顏色,但沒有成功。

色彩的收藏在那裏,他們只是沒有顯示它似乎。

這是CP是如何在我的mainwindow.xaml定義

<xctk:ColorPicker x:Name="cpRing" SelectedColorChanged="cpRing_Changed" HorizontalAlignment="Left" Margin="238,5,0,0" VerticalAlignment="Top" Height="20" Width="39" Foreground="Black"/> 

控制模板太大,這裏不幸粘貼。但是,通過將CP添加到wpf窗口並在設計視圖中右鍵單擊它並選擇編輯模板,可以輕鬆實現這一點。一旦它被應用,顏色將消失,而不會改變任何東西。

有誰知道怎樣做才能讓繳費顏色顯示在編輯控件模板的時候?

問候函

回答

5

是的,它的風格有問題。但如果你觀察它的風格細心,你會發現這個問題:

搜索關鍵字StandardColors或XAML AvailableColors,這裏是StandardColors的模板:

<ListBox x:Name="PART_StandardColors" Grid.Row="1"> 
     <ListBox.Style> 
      <Style TargetType="{x:Type ListBox}"> 
      <Setter Property="Background" Value="Transparent"/> 
      <Setter Property="BorderThickness" Value="0"/> 
      <Setter Property="ItemsPanel"> 
      .... 
     </ListBox.Style> 
</ListBox> 

你可以看到列表框中沒有設置的ItemSource ,這樣你就可以自己添加它:

編輯列表框的 AvailableColors
<ListBox x:Name="PART_StandardColors" ItemsSource="{TemplateBinding StandardColors}" Grid.Row="1"> 

<ListBox x:Name="PART_AvailableColors" ItemsSource="{TemplateBinding AvailableColors}" Grid.Row="1"> 

現在它可以工作。

+0

It Works!輝煌。 非常感謝。 – Nicki