您的位置:首页 > 其它

WPF创建不规则窗体并实现阴影效果

2014-06-06 17:32 399 查看
方法一:使用png图片作为窗体背景。

直接看代码好了:

xaml代码:

<Window x:Class="WPFTEST.SelfWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="SelfWindow" Height="300" Width="300" ResizeMode="NoResize" WindowStyle="None" AllowsTransparency="True" MouseDown="Window_MouseDown">
<Window.Background>
<ImageBrush ImageSource="/WPFTEST;component/Images/winbg.png" />
</Window.Background>
<Window.Effect>
<DropShadowEffect BlurRadius="10" Opacity="0.75" />
</Window.Effect>
<Grid>
</Grid>
</Window>


C#代码:

private void Window_MouseDown(object sender, MouseButtonEventArgs e) {
this.DragMove();
}


运行截图:



方法二:使用Border控件。

xaml代码:

<Window x:Class="WPFTEST.SelfWin2"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="SelfWin2" Height="500" Width="600" WindowStyle="None" AllowsTransparency="True" MouseLeftButtonDown="Window_MouseLeftButtonDown">
<Window.Background>
<SolidColorBrush />
</Window.Background>
<Border CornerRadius="0,30,0,30" Width="500" Height="400" BorderThickness="1" BorderBrush="Black">
<Border.Background>
<ImageBrush ImageSource="/WPFTEST;component/Images/Tulips.jpg" />
</Border.Background>
<Grid Margin="15" Background="AliceBlue" Opacity="0.7">
</Grid>
<Border.Effect>
<DropShadowEffect BlurRadius="10" Opacity="0.75" />
</Border.Effect>
</Border>
</Window>
C#代码:

private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) {
this.DragMove();
}
需要注意的是:如果Border控件的长和宽与窗体的长宽相同的话,阴影的效果就有问题了。

运行截图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: