怎样使按钮的Bitmapeffect的GlowColor和按钮的背景色保持一致?

问:

问个问题哈

代码
<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其实是非常低效的 他不会利用硬件加速。因此并不建议多用。还有就是这位了仁兄 绑定功底还是非常深厚的。这么一长串都写出来了实在是佩服

 


 

 

posted @ 2010-01-30 21:52  helloj2ee  阅读(318)  评论(0编辑  收藏  举报