Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 我使用了一个资源字典来添加一个小的绿色方块_Wpf_Dictionary_Resources_Runtime_Tabitem - Fatal编程技术网

Wpf 我使用了一个资源字典来添加一个小的绿色方块

Wpf 我使用了一个资源字典来添加一个小的绿色方块,wpf,dictionary,resources,runtime,tabitem,Wpf,Dictionary,Resources,Runtime,Tabitem,我已经添加了一个资源字典供tabcontrol使用。每个选项卡项在右侧都有一个小框,该框在资源字典中定义 我想根据每个选项卡项中的复选框更改颜色。目前,如果我在代码中这样做,所有选项卡项都会改变颜色 LinearGradientBrush lgbrush=(LinearGradientBrush)(this.FindResource(“TabItemSideBackground”); lgbrush.GradientStops[0]。颜色=颜色。仿古白色; lgbrush.GradientS

我已经添加了一个资源字典供tabcontrol使用。每个选项卡项在右侧都有一个小框,该框在资源字典中定义

我想根据每个选项卡项中的复选框更改颜色。目前,如果我在代码中这样做,所有选项卡项都会改变颜色

LinearGradientBrush lgbrush=(LinearGradientBrush)(this.FindResource(“TabItemSideBackground”); lgbrush.GradientStops[0]。颜色=颜色。仿古白色; lgbrush.GradientStops[1]。颜色=颜色。红色; lgbrush.GradientStops[2].Color=Colors.oranged


非常感谢您的帮助。谢谢。

我会选择触发器。在TabItem DataTemplate或style中,可以添加处理属性特定值的触发器,并执行属性设置。看看MSDN上的课程页面

一个简短的例子

<Style TargetType="TabItem">
    <Style.Triggers>
      <DataTrigger Binding="{Binding ElementName=SomeObject, Path=SomeProperty}" Value="MakeItRed">
        <Setter Property="Foreground" Value="{DynamicResource MyRedBrush}" />
      </DataTrigger>    
    </Style.Triggers>
</Style>