WPF透明窗体制作

WPF 透明窗口可以调整尺寸(通过拖拽窗口边缘) WPF 透明窗口可以调整尺寸(通过拖拽窗口边缘) 本文遵循 CC 4.0 BY-SA 版权协议 作者:絮大王 通过这篇文章,我们可以实现: 让WPF的透明窗口可以通过拖拽窗口的边缘,自由的调整尺寸。 我们可以通过拖拽窗口的上方,来移动窗口。 我们可以禁止窗口拖到屏幕边缘时自动最大化。 还可以等比例的改变窗口的大小。 还可以等比例的改变窗口中控件的大小 ... 阅读详情

转自:http://blog.youkuaiyun.com/cmis7645/article/details/7781990

先上效果图:

代码如下:

注:图中window标签的name属性是w。

其中Border用来实现透明效果,Grid用来呈现窗体内的控件,为了避免窗体内的控件变成透明的,所以Border,Grid必须处在同一级别上。

 

上面图片中代码如下:

<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"
        Background="Transparent" AllowsTransparency="True"
        WindowStyle="None" MouseDown="Window_MouseDown" name="w">
    <Grid Width="{Binding Width, ElementName=w}"
          Height="{Binding Height, ElementName=w}">
        <Border CornerRadius="5" Margin="10" BorderThickness="2"
                BorderBrush="White" Opacity="0.8">
            <Border.Effect>
                <DropShadowEffect ShadowDepth="0" Color="#FF414141"
                                  BlurRadius="8"/>
            </Border.Effect>
            <Border Background="Black" Opacity="0.5" Margin="0"
                    CornerRadius="5"/>
        </Border>
        <Grid>
            <Button Content="ldajlajg" Width="200" Height="50" />
        </Grid>
    </Grid>
</Window>

其中Border用来实现透明效果,Grid用来呈现窗体内的控件,为了避免窗体内的控件变成透明的,所以Border,Grid必须处在同一级别上。

 

 

补充:还要将窗体window的background属性设为transparent,把allowTransparent属性设为true,把windowStyle设为None。

但这个透明窗体就不能移动了,要想让窗体移动,还得写window的mouseDown事件如下:

private void Window_MouseDown(object sender, MouseButtonEventArgs e)
        {
            if (e.LeftButton == MouseButtonState.Pressed)
            {
                DragMove();
            }
        }

【WPF】消息蒙版弹窗UI以及await实现等待反馈(popup) 原版的消息框太丑?不喜欢?本文展示了自定义的消息框UI与逻辑设置。如果您对原版消息框的外观不太满意,或者不符合您的应用程序的需求,那么可以通过自定义消息框来实现所需的外观和功能。 阅读详情

相关推荐

WPF实现窗体透明、半透明、自定义形状

WPF实现窗体透明、半透明、自定义形状,简单的实现。

一步一步实现WPF透明化窗口

这一篇教程讲述如何实现透明窗体和透明控件,在WindowStyle设置为none情况下拖拽窗口,半透明作为较容易实现的一种美观化,对于大多数美工较弱的开发者来说实用性不错,能在一些平面化设计场合发挥简单而有效的美化效果。 实现效果1: 窗体整体半透明 实现效果2: 窗体全透明化,控件半透明 流程: 1.这里为演示先新建一个WPF

arenascat的博客 1万+

树莓派4B之OpenCV人脸识别实战:从Haar Cascade到实时检测(保姆级教程)

本教程详细介绍了如何在树莓派4B上部署OpenCV,并利用Haar Cascade算法实现实时人脸识别。内容涵盖从系统环境搭建、算法原理解析到代码逐行讲解与实战调优,为嵌入式AI和计算机视觉初学者提供了一份完整的保姆级实践指南。

p8q9r0的博客 402

WPF 控件设置透明度的方法

WPF 控件设置透明度的方法

^@^lemon tea^@^ 3654

中科蓝讯蓝牙耳机SDK实战:从目录解析到消息处理框架

本文深入解析中科蓝讯蓝牙耳机SDK的目录结构与消息处理框架,提供从硬件驱动到蓝牙功能定制的实战指南。重点剖析SDK核心模块如消息队列机制、按键事件处理及电量报告优化,并分享二次开发中的调试技巧与避坑经验,助力开发者高效完成TWS耳机功能定制。

weixin_30335575的博客 387

别光看教程了!手把手带你用STM32F103C8T6最小系统板点亮第一个LED(附完整电路图)

本文详细介绍了如何使用STM32F103C8T6最小系统板点亮第一个LED,从硬件连接到软件开发环境搭建,再到编写和下载程序,手把手教你完成STM32入门的第一步。适合初学者快速上手STM32开发,附完整电路图和代码示例。

weixin_28678831的博客 193

WPF通过修改Background的Alpha从而设置透明背景颜色

在WPF开发中,直接使用`Opacity`设置控件的透明度会影响其子控件的透明度。为了解决这个问题,可以通过修改颜色的Alpha值实现设置透明度。这里给出两个方法实例,通过使用Converter或者通过使用附加属性。

qq_42399932的博客 2236

Arduino-CRSF库详解:嵌入式端CRSF协议解析与ELRS接收机集成

CRSF(Crossfire Serial Protocol)是一种面向FPV无人机的轻量级、高实时性串行通信协议,采用单总线异步传输与8位CRC-8校验机制,广泛应用于遥控链路与遥测交互。其核心在于帧同步(0xC8起始字节)、反相逻辑电平及无重传的广播式设计,对嵌入式平台的UART精度、电平匹配和状态机健壮性提出严苛要求。Arduino-CRSF库正是为资源受限MCU(如ESP32、STM32、ATmega328P)提供零配置、中断安全的协议解析能力,封装了CRC查表计算、超时恢复、多级同步验证等关键机制

weixin_35756690的博客 415

WPF实现无边框圆角带阴影的半透明窗口

WPF实现无边框圆角带阴影的半透明窗口,控件可以不透明。

weixin_42832801的博客 1207

unity转微信小游戏:UI大小设置

unity转微信小游戏:UI大小设置

会潜水的小火龙的博客 3268

网络抓包实战:如何捕获与解析802.1Q VLAN标签报文

在网络通信中,数据包是信息传输的基本单元,而VLAN(虚拟局域网)技术通过在数据链路层插入802.1Q标签,实现了网络流量的逻辑隔离与高效管理。其核心原理是在标准以太网帧头中嵌入4字节的VLAN标识,使交换机能够根据VID(VLAN ID)进行精准转发。掌握VLAN报文的捕获与解析技术,对于网络故障排查、安全审计和性能优化具有重要价值,尤其在需要验证网络隔离策略或诊断Trunk链路异常时。本文聚焦于使用Wireshark工具,结合端口镜像等实操方法,详细演示如何抓取并解读携带802.1Q标签的原始报文,帮助

weixin_33417488的博客 381

【.Net码农】WPF透明窗体制作

http://blog.csdn.net/cmis7645/article/details/7781990 窗体的样式: [html] view plaincopy Grid Width="{Binding Width, ElementName=w}" Height="{Binding Height, Element

能看代码的CrackLibby 766

claude code desktop中出现Doesn‘t look like an Anthropic model - expected a gateway model route 解决方案

本文主要介绍了claude code desktop中出现Doesn’t look like an Anthropic model - expected a gateway model route referencing an Anthropic model和Server is busy. Retrying的解决方案,希望能对使用claude code desktop的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 9万+

WPF怎么做新手引导界面?

本文经原作者授权以原创方式二次分享,欢迎转载、分享。原文作者:眾尋原文链接:https://www.cnblogs.com/ZXdeveloper/p/8391864.html这两天不忙,所以,做了一个简易的新手引导小Demo。因为,不是项目上应用,所以,做的很粗糙,也就是给需要的人,一个思路而已。新手引导功能的话,就是告诉用户,页面上操作的顺序,第一步要做什么,第二步要...

dotNET跨平台 1045

ROS与Qt5人机交互界面开发:添加rviz显示界面

最后,点击"完成"以创建新的Qt5应用程序项目。通过结合ROS和Qt5,您可以创建强大的人机交互界面,以实现丰富的机器人控制和数据可视化。在本教程中,我们将在主窗口中创建一个简单的按钮,用于启动rviz显示界面。在Qt Creator的槽函数编辑器中,为按钮添加一个槽函数,该函数将在单击按钮时调用。在上面的代码中,我们使用QProcess类启动了一个新的进程,并执行"rviz"命令来启动rviz显示界面。当您单击Qt5应用程序中的按钮时,将会启动一个新的rviz窗口,显示机器人数据的可视化界面。

CodeJolt的博客 2066

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【课程设计】(附源码)ssm+mysql+养老院信息管理系统 毕业设计181550

本设计主要实现集人性化、高效率、便捷等优点于一身的养老院信息管理系统,实现功能:首页、系统用户(管理员、护工)模块管理(老人管理、房间管理、收费管理、健康上报、入住状况、来访登记、请假管理、工资管理、预约体检、老人费用管理、收支报表)等功能模块。系统通过浏览器与服务器进行通信,实现数据的交互与变更。只需通过一台电脑,动动手指就可以操作系统,实现数据通信管理。整个系统的设计过程都充分考虑了数据的安全、稳定及可靠等问题,而且操作过程简单。本系统通过科学的管理方式、便捷的服务提高了工作效率......

Biye_Design的博客 7428

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

【课程设计】基于ssm学生成绩管理系统的设计与实现-计算机毕设 070942

学生模块: 账号登录认证。 管理个人资料信息,修改可修改的信息项。 课程成绩查询,同时查看历史已有成绩的记录。 教师模块: 提交学生成绩,同时查看历史已提交的学生成绩记录。 课程总成绩查询,同时查看历史已有成绩的记录。 管理员模块: 维护学生,审核学生的账号,可以冻结学生的登录权限,或者删除学生账号。 发布课程,并可以销毁某个课程,更新课程数据,模糊搜索课程数据等。 发布教师,并可以销毁某个教师,更新教师数据,模糊搜索教师数据等。 管理课程成绩数据。 查看教师提交的学生成绩数据,管理员有权利维护它。

Q_3461074420的博客 2060

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

C# WPF设置窗口透明

给窗体设置如下属性:WindowStyle="None" Background="#00FFFFFF" AllowsTransparency="True" Background前两位的颜色值是表示透明度的,此时颜色值为ARBG。 AllowsTransparency="True",开启窗口的工作区支持透明。详见https://msdn.microsoft.com/zh-cn/library

deng_xi的专栏 1945

WPF 中将背景设为透明

在wpf中要将窗口设置为透明,除了将窗口背景色的Alpha分量设置为0以外,你还必须将窗口的AllowsTransparency属性设置为true。 还请注意的是窗体(window)中有一个默认的名为LayoutRoot的Grid对象,您应该将它的背景色的Alpha分量设置为0。 这里是一个Demo:它显示了一个圆形的不规则窗体。你可以将以下代码拷贝到XamlPad中查看效果: <Wi

Dark Source 1815

WPF 窗体Background="Transparent",AllowsTransparency="False"没有透明效果

将WindowStyle="None" 、ResizeMode="NoResize"可以出现透明效果,AllowsTransparency="True"可以穿透

log103628的博客 498

WPF 之 自定义窗体的封装

文章目录简介效果代码实现1. 重写`Button`按钮类2. 自定义`CustomWindowBase.xaml` 样式3. `MainWindow` 窗体的引用源码下载 简介 在绘制界面时,往往需要自定义窗体的封装,下面是实现自定义窗体的方式。 效果 窗体 ResizeMode=&amp;amp;quot;CanResize&amp;amp;quot; 窗体 ResizeMode=&amp;amp;quot;NoResize&amp;amp;quot; 代

me_badman的博客 3806

C# WPF下自定义DataGrid背景、颜色、边线等代码实现

最近在使用伟景行的三维平台开发三维管廊监控运维平台,开发语言是C#,使用的是WPF框架,需要对DataGrid进行自定义开发。包括列头、边线、背景色、前景色等。效果如图:  DataGrid整体实现代码如下:  <DataGrid Name="dataGridAlarm" AutoGenerateColumns="False" CanUserAddRows="False" CanUse

凡梦 2万+

WPF外发光按钮Style

开始要先自定义好按钮颜色,然后使用如下Style:

yinyiniao(Leo)'s blog 5537
上一篇: 如何在WPF中调用Winform控件
下一篇: c++基础---C++宏定义详解
HNFXS985
博客等级 码龄14年 219粉丝 150原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值