2014-07-24 38 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