苏小咪 发表于 2023-9-4 09:59:43

WPF - 阴影效果

基本属性:
属性说明描述Color设置阴影效果背景色Color="Red"ShadowDepth设置阴影的偏移度ShadowDepth="5"Direction设置阴影的角度Direction="-45"BlurRadius设置阴影模糊程度BlurRadius="20"Opacity设置阴影透明度Opacity="1"阴影效果介绍:在WPF中,你可以使用DropShadowEffect属性为控件添加阴影效果。DropShadowEffect是System.Windows.Media.Effects命名空间下的一个类,它提供了一种简单的方法来为控件添加阴影效果。下面是一个简单的示例,演示如何在WPF中为按钮添加阴影效果:<Button Width="100" Height="50">
    <Button.Effect>
      <DropShadowEffect ShadowDepth="10" BlurRadius="20" Color="Gray"/>
    </Button.Effect>
    Click Me
</Button>在上面的示例中,我们为按钮的Effect属性设置了一个DropShadowEffect对象。ShadowDepth属性控制阴影的深度,BlurRadius属性控制阴影的模糊程度,Color属性控制阴影的颜色。你可以根据需要调整这些属性的值来获得不同的阴影效果。阴影效果应用范围:DropShadowEffect控件适用于需要添加阴影效果的各种场合,例如在按钮、标签、文本框等控件上添加阴影,以增强控件的立体感和视觉效果。此外,DropShadowEffect控件还可以用于实现阴影的动态效果,例如在鼠标悬停时改变阴影的颜色、大小等属性,以提供更丰富的交互体验。总之,DropShadowEffect控件是一种非常实用的工具,可以在WPF应用程序中增强视觉效果和交互体验阴影效果是UIElement类提供,所有继承自UIElement类的控件都可以实现阴影效果。
代码实例:  由于时间关系,代码实例都写在一起了。
<Grid>
   
    <StackPanel>
      
      <Border Width="100" Height="50" Background="Orange">
            
            <Border.Effect>
               
                <DropShadowEffect Color="Red" ShadowDepth="0"/>
            </Border.Effect>
      </Border>
      
      
      <Border Margin="0 10" Width="100" Height="50" Background="Orange">
            
            <Border.Effect>
               
               
               
               
                <DropShadowEffect Color="Red" ShadowDepth="5" Direction="-45" BlurRadius="20" Opacity="1"/>
            </Border.Effect>
      </Border>
      
      
      
      <Border Margin="0 10" Width="100" Height="50" Background="Orange">
            
            <Border.Effect>
               
                <DropShadowEffect Color="Red" ShadowDepth="5"/>
            </Border.Effect>
      </Border>

      
      <Border Width="100" Height="50" Background="Orange">
            
            <Border.RenderTransform>
               
                <RotateTransform Angle="45"/>
            </Border.RenderTransform>
            
            <Border.Effect>
               
                <DropShadowEffect Color="Red" ShadowDepth="5" Direction="-45"/>
            </Border.Effect>
      </Border>

      
      <TextBlock Text="Hello">
            <TextBlock.Effect>
               
                <DropShadowEffect Color="Gray" ShadowDepth="0" BlurRadius="3"/>
            </TextBlock.Effect>
      </TextBlock>

      
      <Border Margin="0 60 0 0" Width="100" Height="30" BorderBrush="Green" BorderThickness="1" CornerRadius="10">
            
            <Border.Effect>
                <DropShadowEffect Color="Red" ShadowDepth="0" Direction="-45" BlurRadius="5" Opacity="1"/>
            </Border.Effect>
            <TextBlock Text="Hello" VerticalAlignment="Center" HorizontalAlignment="Center"/>
      </Border>

      
      
      <Border Margin="0 10 0 0" Width="100" Height="30" BorderBrush="Green" BorderThickness="1" CornerRadius="10"
                Background="White">
            
            <Border.Effect>
                <DropShadowEffect Color="Red" ShadowDepth="0" Direction="-45" BlurRadius="5" Opacity="1"/>
            </Border.Effect>
            <TextBlock Text="Hello" VerticalAlignment="Center" HorizontalAlignment="Center"/>
      </Border>

      
      <Grid Margin="0 10 0 0">
            
            <BorderWidth="100" Height="30" BorderBrush="Green" BorderThickness="1" CornerRadius="0"
    ClipToBounds="True">
               
                <Border.Effect>
                  <DropShadowEffect Color="Red" ShadowDepth="0" Direction="-45" BlurRadius="5" Opacity="1"/>
                </Border.Effect>
            </Border>
            
            <TextBlock Text="Hello" VerticalAlignment="Center" HorizontalAlignment="Center"/>
      </Grid>

      
      <Grid Margin="0 10 0 0">
            
            <BorderWidth="100" Height="30" BorderBrush="Green" BorderThickness="1" CornerRadius="10">
               
                <Border.Clip>
                  
                  <RectangleGeometry Rect="0 0 100 30" RadiusX="10" RadiusY="10"/>
                </Border.Clip>
               
                <Border.Effect>
                  <DropShadowEffect Color="Red" ShadowDepth="0" Direction="-45" BlurRadius="5" Opacity="1"/>
                </Border.Effect>
            </Border>
            
            <TextBlock Text="Hello" VerticalAlignment="Center" HorizontalAlignment="Center"/>
      </Grid>
    </StackPanel>
</Grid> 效果展示:
 
 

来源:https://www.cnblogs.com/wjygxjz/archive/2023/09/04/17676029.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: WPF - 阴影效果