问:

问个问题哈

代码
<Button Background="Blue" Width="100" Height="50" Grid.Row="2" >
      
<Button.BitmapEffect>
        
<OuterGlowBitmapEffect Opacity="0.7" GlowSize="5" GlowColor="{Binding Path=(Button.Background).(SolidColorBrush.Color)}"/>
      
</Button.BitmapEffect>
      
<Button.Triggers>
        
<EventTrigger RoutedEvent="UIElement.MouseEnter">
          
<BeginStoryboard>
            
<Storyboard TargetProperty="(Button.BitmapEffect).(OuterGlowBitmapEffect.GlowSize)">
              
<DoubleAnimation To="50" Duration="0:0:1" AutoReverse="False" FillBehavior="Stop"/>
            
</Storyboard>
          
</BeginStoryboard>
        
</EventTrigger>
      
</Button.Triggers>
    
</Button>

 

   

我想让GlowColor和Button的Background那里配置同样的颜色
但是这样做不对 不知道该怎么弄

问题出在 绑定上。首先给Button起个名字比如叫做btn 然后在绑定的时候使用ElementName关键字 代码如下所示:

 

代码
 <Button x:Name="btn" Background="Blue" Width="100" Height="50" Grid.Row="2" >
            
<Button.BitmapEffect>
                
<OuterGlowBitmapEffect x:Name="bitmapeffect" Opacity="0.7" GlowSize="5" GlowColor="{Binding ElementName=btn, Path=(Button.Background).(SolidColorBrush.Color)}"/>
            
</Button.BitmapEffect>
            
<Button.Triggers>
                
<EventTrigger RoutedEvent="UIElement.MouseEnter">
                    
<BeginStoryboard>
                        
<Storyboard TargetProperty="(Button.BitmapEffect).(OuterGlowBitmapEffect.GlowSize)">
                            
<DoubleAnimation To="50" Duration="0:0:1" AutoReverse="False" FillBehavior="Stop"/>
                        
</Storyboard>
                    
</BeginStoryboard>
                
</EventTrigger>
            
</Button.Triggers>
        
</Button>

 

 

这样就是蓝色 顺便说一句 BitmapEffect其实是非常低效的 他不会利用硬件加速。因此并不建议多用。还有就是这位了仁兄 绑定功底还是非常深厚的。这么一长串都写出来了实在是佩服

 


 

 

相关文章:

  • 2022-01-31
  • 2021-11-17
  • 2021-05-23
  • 2022-12-23
  • 2021-07-01
  • 2022-02-18
  • 2022-12-23
  • 2021-09-29
猜你喜欢
  • 2021-06-11
  • 2022-12-23
  • 2021-06-03
  • 2022-02-28
  • 2021-07-23
  • 2022-12-23
  • 2021-11-23
相关资源
相似解决方案