打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
WPF窗体透明控件不透明实例

目的:遮挡下面的窗体

WPF 窗口去除顶部边框(正宗无边框)

最近在做一个大屏展示视频图片的项目,功能并不复杂,半天的工作量吧,一开始同事采用的Unity3D进行开发,但是里面要播放4K视频,Unity 的短板就是视频的播放了,今晚就要交付了,我一早就来公司,决定用WPF重新开发一版,各项功能都好了,唯独顶部总是显示一条白色的边,已经设置WindowStyle为None了也没用,幸得网上大神提供的资料,终于解决了这个小问题。

XAML内容如下:

<Window x:Class="WPF_VideoPlayer.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WPF_VideoPlayer" mc:Ignorable="d" Title="MainWindow" Height="350" Width="2880" Loaded="Window_Loaded" WindowChrome.WindowChrome="{DynamicResource WindowChromeKey}" AllowsTransparency="True" WindowStyle="None" ResizeMode="NoResize" WindowState="Maximized" Topmost="True" Background="Black">
<Window.Resources> <WindowChrome x:Key="WindowChromeKey"> <WindowChrome.ResizeBorderThickness> <Thickness>0</Thickness> </WindowChrome.ResizeBorderThickness> </WindowChrome> </Window.Resources>
<Grid> </Grid></Window>

具有透明背景且包含不透明控件的WPF窗口

<Window x:Class="WpfApplication3.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525" AllowsTransparency="True" WindowStyle="None"> <Window.Background> <SolidColorBrush Opacity="0.5" Color="White"/> </Window.Background> <Grid> <Button Width="200" Height="50">button</Button> </Grid></Window>

项目XAML:

<Window x:Class="WpfApp5.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfApp5" mc:Ignorable="d" Title="MainWindow" Height="1080" Width="1920" WindowChrome.WindowChrome="{DynamicResource WindowChromeKey}" AllowsTransparency="True" WindowStyle="None" ResizeMode="NoResize" WindowState="Maximized" Topmost="True" > <Window.Resources> <WindowChrome x:Key="WindowChromeKey"> <WindowChrome.ResizeBorderThickness> <Thickness>0</Thickness> </WindowChrome.ResizeBorderThickness> </WindowChrome> </Window.Resources> <Window.Background> <SolidColorBrush Opacity="0" Color="White"/> </Window.Background> <!--<Grid ShowGridLines="True">--> <Grid > <Grid.RowDefinitions> <RowDefinition Height="50"></RowDefinition> <RowDefinition Height="395"></RowDefinition> <RowDefinition Height="402"></RowDefinition> <RowDefinition Height="186"></RowDefinition> <RowDefinition Height="49"></RowDefinition> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="540"/> <ColumnDefinition Width="398"/> <ColumnDefinition Width="508"/> <ColumnDefinition Width="833"/> </Grid.ColumnDefinitions> <Button Grid.Row="1" Grid.Column="0" Name="btn1" Content="实 时 图 像" VerticalContentAlignment="Center" FontSize="40" FontFamily="Microsoft YaHei UI" Foreground="White" Background="#0850a0" Opacity="1"/> <Button Grid.Row="1" Grid.Column="1" Grid.RowSpan="2" Name="btn2" Content="截 取 图 像" Foreground="White" VerticalContentAlignment="Center" FontSize="40" FontFamily="Microsoft YaHei UI" Background="#0850a0" Opacity="1"/> <Button Grid.Row="1" Grid.Column="3" Grid.RowSpan="2" Name="btn3" Background="#0850a0" Opacity="1"/> <Button Grid.Row="3" Grid.Column="1" Grid.ColumnSpan="3" Name="btn4" Background="#0850a0" Opacity="1"/> <Button Grid.Column="0" Grid.Row="4" Grid.ColumnSpan="4" Name="btn5" Background="#0850a0" Opacity="1"/> </Grid></Window>
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
WPF 使用WindowChrome自定义窗体 保留原生窗体特性
WPF content model and layout
WPF工控组态软件之温度计【内附源码】
WPF简单导航框架(Window与Page互相调用)
WPF快速入门系列(7)
VB.net学习笔记(十七)XAML
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服