Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.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
C# 将前景色绑定到控件';被剥夺的国家_C#_Wpf_Xaml_.net 4.0_Styles - Fatal编程技术网

C# 将前景色绑定到控件';被剥夺的国家

C# 将前景色绑定到控件';被剥夺的国家,c#,wpf,xaml,.net-4.0,styles,C#,Wpf,Xaml,.net 4.0,Styles,将Microsoft.Windows.Controls.Ribbon.RibbonTab对象上的标签颜色绑定到其启用状态时遇到问题 我首先尝试了以下方法: <Style TargetType="{x:Type r:RibbonTab}"> <Setter Property="Foreground" Value="White" /> <Style.Triggers> <DataTrigger Binding="{Bindin

将Microsoft.Windows.Controls.Ribbon.RibbonTab对象上的标签颜色绑定到其启用状态时遇到问题

我首先尝试了以下方法:

<Style TargetType="{x:Type r:RibbonTab}">
    <Setter Property="Foreground" Value="White" />
    <Style.Triggers>
        <DataTrigger Binding="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=IsEnabled}" Value="False">
            <Setter Property="Foreground" Value="Gray" />
        </DataTrigger>
    </Style.Triggers>
</Style>
但这也失败了,出现了以下编译时错误:

System.Windows.UIElement.IsenableChanged=“RibbonTab_IsenableChanged_事件”无效。”IsEnabledChanged'必须是以关键字“Event”结尾的名称注册的RoutedEvent。

我如何才能让它工作?

您是否尝试过:

<Style TargetType="{x:Type r:RibbonTab}">
    <Style.Triggers>
        <DataTrigger Binding="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=IsEnabled}" Value="False">
            <Setter Property="Foreground" Value="Gray" />
        </DataTrigger>
    </Style.Triggers>
    <Setter Property="Foreground" Value="White" />
</Style>

尝试一个简单的属性触发器:

 <Style TargetType="{x:Type r:RibbonTab}">
     <Style.Triggers>
         <Trigger Property="IsEnabled" Value="False">
             <Setter Property="Foreground" Value="Gray" />
         </Trigger>
     </Style.Triggers>
     <Setter Property="Foreground" Value="White" /> 
 </Style>


在我看来,该绑定刚刚被破坏,您是否甚至在
控制模板的上下文中?你知道
TemplatedParent
是如何工作的吗?有吗?那很有效。谢谢你,我不敢相信我没有先尝试这个更简单的方法。@H.B.是的。我把二传手移到了扳机后。我看到了这一点。请注意,史蒂夫的解决方案也做了同样的事情;到目前为止,我还没有看到任何情况下,这将是一个不同的。如果你能给我看一个我会很感兴趣的。。。
<Style TargetType="{x:Type r:RibbonTab}">
    <Style.Triggers>
        <DataTrigger Binding="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=IsEnabled}" Value="False">
            <Setter Property="Foreground" Value="Gray" />
        </DataTrigger>
    </Style.Triggers>
    <Setter Property="Foreground" Value="White" />
</Style>
 <Style TargetType="{x:Type r:RibbonTab}">
     <Style.Triggers>
         <Trigger Property="IsEnabled" Value="False">
             <Setter Property="Foreground" Value="Gray" />
         </Trigger>
     </Style.Triggers>
     <Setter Property="Foreground" Value="White" /> 
 </Style>