更改多选列表的复选框颜色

本文关键字:复选框 颜色 列表 | 更新日期: 2023-09-27 18:36:23

我正在用纯色(文本)填充多选列表,我希望复选框符合分配给它的纯色画笔。到目前为止,我拥有的如下

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>

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

更改多选列表的复选框颜色

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

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