2012-06-07 39 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