C# 带OpacityMask的WPF数据触发器
我正在使用Mahapps.Metro,希望根据属性更改图标 只设置矩形的BackgroundcolorFill,一切正常。设置OpacityMask后,整个矩形将保持空白C# 带OpacityMask的WPF数据触发器,c#,wpf,mahapps.metro,visualbrush,opacitymask,C#,Wpf,Mahapps.metro,Visualbrush,Opacitymask,我正在使用Mahapps.Metro,希望根据属性更改图标 只设置矩形的BackgroundcolorFill,一切正常。设置OpacityMask后,整个矩形将保持空白 知道我做错了什么吗?过了很长时间,我找到了一个可行的解决方案: 第一个问题是缺少使用的Ressource Blackrush 在Icons.xaml中 而这个方法的诀窍是替换整个矩形。我接受了这份工作 <ContentControl> <ContentControl.Style
知道我做错了什么吗?过了很长时间,我找到了一个可行的解决方案: 第一个问题是缺少使用的Ressource Blackrush 在Icons.xaml中 而这个方法的诀窍是替换整个矩形。我接受了这份工作
<ContentControl>
<ContentControl.Style>
<Style TargetType="{x:Type ContentControl}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsOnline}" Value="True">
<Setter Property="Content" >
<Setter.Value>
<Rectangle Fill="Green" Width="20" Height="20">
<Rectangle.Resources>
<SolidColorBrush x:Key="BlackBrush" Color="Black" />
</Rectangle.Resources>
<Rectangle.OpacityMask>
<VisualBrush Visual="{StaticResource appbar_disconnect}" Stretch="Fill" />
</Rectangle.OpacityMask>
</Rectangle>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Path=IsOnline}" Value="False">
<Setter Property="Content" >
<Setter.Value>
<Rectangle Fill="Red" Width="20" Height="20">
<Rectangle.Resources>
<SolidColorBrush x:Key="BlackBrush" Color="Black" />
</Rectangle.Resources>
<Rectangle.OpacityMask>
<VisualBrush Visual="{StaticResource appbar_connect}" Stretch="Fill" />
</Rectangle.OpacityMask>
</Rectangle>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</ContentControl.Style>
</ContentControl>