更改multiselectlist的复选框颜色

时间:2012-06-07 01:10:48

标签: c# windows-phone-7 xaml

我正在使用solidbrushcolors(text)填充多选列表,我希望复选框能够遵循为其分配的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>

似乎通过添加矩形或复选框,在正确颜色的水平堆栈面板中创建另一个项目,而不是实际的复选框本身。我怎么能把画笔绑定到复选框颜色呢?

1 个答案:

答案 0 :(得分:1)

我只能通过在资源中为复选框定义默认样式来解决此问题:

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