为了账号安全,请及时绑定邮箱和手机立即绑定

C# Wpf 将服装样式设置为 ComboBoxItem

C# Wpf 将服装样式设置为 ComboBoxItem

C#
狐的传说 2022-06-12 11:05:43
我有ComboBox一个列表。该ComboBox列表中有 3 个 ComboBoxItems。我也有一个CheckBox。如果CheckBox未选中并且选择了第一个 ComboBoxItem,则我的视图模型中的属性“Property1”设置为 false。现在,如果“Property1”为假,我想更改此 ComboBoxItem 的背景和前景。我怎样才能做到这一点?我试图用 Style 和 MultiDataTrigger 来完成这项工作,但没有成功——我只设法更改了所有 ComboBoxItems 的 Style 而不是特定的一个。<Style TargetType="ComboBoxItem">            <Style.Triggers>               <MultiDataTrigger>                   <MultiDataTrigger.Conditions>                        <Condition Binding="{Binding Path=SelectedComboBoxItem}" Value="Item1" />                       <Condition Binding="{Binding Path=CheckStatus}" Value="False" />                   </MultiDataTrigger.Conditions>                   <Setter Property="Background" Value="GhostWhite" />                   <Setter Property="Foreground" Value="Gainsboro" />               </MultiDataTrigger>            </Style.Triggers>        </Style>通过 List 绑定时,如何更改特定 ComboBoxItem 的样式?
查看完整描述

1 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

这可能不是最好的解决方案,而是一个可行的解决方案:


我没有使用样式,而是使用 ItemTemplate 创建了一个组合框


        <ComboBox Width="200" Height="30"  ItemsSource="{Binding SimpleList, UpdateSourceTrigger=PropertyChanged}" >

        <ComboBox.ItemTemplate>

            <DataTemplate>

                <Label Content="{Binding Name}" Background="{Binding BackGround}" Foreground="{Binding ForeGround}"/>

            </DataTemplate>

        </ComboBox.ItemTemplate>

    </ComboBox>

我的 SimpleList 包含 3 个具有名称、背景和前景属性的“简单对象”。BackGround 默认设置为白色,ForeGround 默认设置为黑色。


一旦我的 CheckBox 被选中,我就会得到我的 List 的第一个 Item 并更改它的属性。


    private void CheckBox_Checked(object sender, RoutedEventArgs e)

{

  SimpleObject obj = SimpleList.FirstOrDefault();

  obj.BackGround = new SolidColorBrush(Colors.Black);

  obj.ForeGround = new SolidColorBrush(Colors.White);

}

//img1.sycdn.imooc.com//62a5582d00017ed504400285.jpg

查看完整回答
反对 回复 2022-06-12
  • 1 回答
  • 0 关注
  • 240 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号