首页 > 编程语言 >c# - 如何在圆角 WPF 窗体中创建圆角矩形?

c# - 如何在圆角 WPF 窗体中创建圆角矩形?

时间:2023-08-18 10:46:20浏览次数:40  
标签:圆角 c# 创建 窗体 WPF 矩形

我正在 WPF 中创建一个应用程序,我想要圆角。收到。现在窗体是无边框的,我正在尝试创建一个圆角矩形并将其放在顶部,使其看起来像 Windows 应用程序的顶部栏。

我做不到。

这是我的代码:

<Border CornerRadius="50, 0, 50, 0" BorderBrush="Black" BorderThickness="2" Background="GhostWhite">
        <Grid Margin="0,0,0,402">
            <Rectangle HorizontalAlignment="Left" Height="44" VerticalAlignment="Top" Width="796">
                <Rectangle.Fill>
                    <VisualBrush Stretch="None">
                        <VisualBrush.Visual>
                            <Border Width="800" Height="200" CornerRadius="50,0,0,0" Background="DarkOliveGreen"/>
                        </VisualBrush.Visual>
                    </VisualBrush>
                </Rectangle.Fill>
            </Rectangle>
            <Grid HorizontalAlignment="Left" Height="403" Margin="0,44,0,-403" VerticalAlignment="Top" Width="796"/>
        </Grid>
    </Border>

我的主要形式:

Main Form Design 我想要什么:

Desired Output

我得到了什么:

My Output

 

最佳答案

 

您需要对控制结构进行一些小的更改才能实现它。以下代码已经过测试并且可以正常工作。

<Grid>
    <Grid.OpacityMask>
        <VisualBrush Visual="{Binding ElementName=myBorder}" />
    </Grid.OpacityMask>
    <Border x:Name="myBorder" CornerRadius="50,0,50,0" Background="GhostWhite" BorderBrush="Black" BorderThickness="2"/>
    <Rectangle HorizontalAlignment="Left" Height="44" VerticalAlignment="Top" Width="796">
        <Rectangle.Fill>
            <VisualBrush Stretch="None">
                <VisualBrush.Visual>
                    <Border Width="800" Height="200" CornerRadius="50,0,0,0" Background="DarkOliveGreen"/>
                </VisualBrush.Visual>
            </VisualBrush>
        </Rectangle.Fill>
    </Rectangle>
</Grid>

 

关于c# - 如何在圆角 WPF 窗体中创建圆角矩形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56163207/

标签:圆角,c#,创建,窗体,WPF,矩形
From: https://www.cnblogs.com/webenh/p/17639767.html

相关文章

  • C# SECS/GEM协议
    一、概念  SECS/GEMI标准(制造设备通信和控制的通用模型)指的是一组用于管理制造设备和工厂主机系统之间通信的半导体行业标准,由国际半导体协议SEMI发起并维护。GEM基于其他较低级别的标准,如下:图片后补协议名称用途SECS-I定义RS-232通信的标准(报文)HSMS定义TCP/......
  • 安森美 IDE(基于Eclipse)报头文件缺少的解决方法
    安森美IDE(基于Eclipse)报头文件缺少,但是能正常跳转到头文件在这里面将路径包含进来,建议两个都添加一次  在项目上点击右键,然后点击Index下的Rebuild重建 ......
  • SpringCloud 微服务的协调者
    一、什么是SpringCloud1、功能:配置管理、服务注册、服务发现、断路器、智能路由、负载均衡、服务间调用、微代理、一次性令牌、思维导图模板、全局锁、领导选举、分布式消息、分布式会话、集群状态2、SpringCloud与SpringBoot的关系SpringBoot是构建SpringCloud架......
  • MySQL客户端工具 phpMyAdmin MySQL Workbench HeidiSQL Sequel Pro DBeaver
    MySQL是一种流行的关系型数据库管理系统,它被广泛用于Web应用程序和企业级应用程序的开发中。目前,市面上有不少好用的MySQL客户端工具,如Navicat,SQLyog等。但这些产品虽然功能强大,却都是收费的,而且费用还不低。幸运的是,收费产品并不是你的唯一选择,目前也有不少开源的工具。如果你不想......
  • 轻量级容器运行时:Containerd的部署与使用
    containerd作为轻量级容器运行时,被认为是最热门的Docker替代方案,目前已在阿里云、腾讯云等多家云商得到了支持,相信未来会有非常不错的发展前景。在前面的文章已对产品的功能架构进行了介绍,本文我们将更进一步,来学习containerd的部署与使用。01—部署containerd1.下载二进制文件 $......
  • WPF使用WPFMediaKit/AForge调用摄像头示例 .net core 8.0 也支持
    调用摄像头使我们经常会用到的一个功能,可以根据摄像头捕捉到的图像进行分析处理来做很多的东西,比如电子档案、图像识别、AI分析等等。本示例中主要介绍Nuget最常用的两个调用摄像头的轮子WPFMediaKit、AForge环境:VS2019,.NetFramework472WPF  (.netcore8.0 也支持)WPFMe......
  • C# wpf 使用GDI+实现截屏
    wpf截屏系列第一章使用GDI+实现截屏(本章)第二章使用DockPanel制作截屏框第三章实现截屏框实时截屏第四章使用ffmpeg命令行实现录屏文章目录wpf截屏系列前言一、引用System.Drawing方法一、引用系统程序集方法二、NuGet获取跨平台Drawing二、实现截屏1.简单截屏2.绘制鼠标3.转......
  • C# wpf 实现截屏框实时截屏功能
    wpf截屏系列第一章使用GDI+实现截屏第二章使用DockPanel制作截屏框第三章实现截屏框实时截屏(本章)第四章使用ffmpeg命令行实现录屏文章目录wpf截屏系列前言一、实现步骤1、获取截屏区域2、隐藏控件(1)问题(2)解决方法3、截屏二、完整代码三、效果预览总结前言在《C#wpf使用DockP......
  • SpringSecurity实战笔记之RESTful
    =================================RESTful========================================一、JsonPath1、github:https://github.com/json-path/JsonPath二、@JsonView使用步骤(用于解决同一个对象在不同的接口返回的字段不同的场景)1、使用接口来声明多个视图2、在值对象的get方法上指......
  • Snapchat的AI机器人拥有自我意识,把用户吓坏了!
    您的关注是对我最大的支持......