2012-06-07 37 views
3

我正在使用solidbrushcolors(文本)填充多选列表,并且我希望复选框能够坚持将solidcolorbrush分配给它。到目前为止,我有如下更改多选列表的复选框颜色

MainPage.xaml中

<toolkit:MultiselectList x:Name="ColorList" HorizontalAlignment="Left" VerticalAlignment="Top" Tap="ColorList_Tap"> 
       <toolkit:MultiselectList.ItemTemplate> 
        <DataTemplate> 

         <StackPanel Orientation="Horizontal" Margin="12,12,0,0" Grid.ColumnSpan="2"> 
          <!--<Rectangle Fill="{Binding Brush}" Width="50" Height="50"/>--> 
          <!--<CheckBox Background="{Binding Brush}"/>--> 

          <TextBlock Text="{Binding Name}" Margin="12,10,0,0"/> 
         </StackPanel> 
        </DataTemplate> 
       </toolkit:MultiselectList.ItemTemplate> 

看来,通过增加或者矩形或复选框,另一个项目在正确的颜色的水平StackPanel中创建的,而不是实际复选框本身。我怎么能把刷子绑定到复选框的颜色呢?

+0

如果你试图改变盒子内部的颜色,那么你就需要打破它在共混物改变它的行为或在混合中创建你自己的复选框。 – fenix2222

+0

@ fenix2222你能帮助我完成这个任务吗? – Matthew

+0

@Matthew你还需要帮助吗? –

回答

1

我能解决这个问题只能通过在资源定义复选框默认样式:

<toolkit:MultiselectList ...> 
    <FrameworkElement.Resources> 
    <Style TargetType="CheckBox"> 
     <Setter Property="Background" Value="Yellow"/> 
    </Style> 
    </FrameworkElement.Resources> 
    <ItemsControl.ItemTemplate> 
    ... 
    </ItemsControl.ItemTemplate> 
</toolkit:MultiselectList> 
+0

甜美!谢谢 - 帮助我... – James