zoukankan      html  css  js  c++  java
  • WPF-非矩形窗口的创建

    第一、窗口的AllowsTransparency设置为True

    第二、窗口的Background设置为Transparent

    第三、窗口的WindowStyle设置为None

    第四、窗口内的Grid用Clip或者Border设置为需要的形状

    代码示例(利用Clip实现圆角窗口)

     1 <Window x:Class="Test"
     2         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     3         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     4         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
     5         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
     6         xmlns:local="clr-namespace:CaiPiaoUI"
     7         mc:Ignorable="d"
     8         Title="Test" Height="500" Width="500" WindowStyle="None" AllowsTransparency="True" 
     9         Background="Transparent" WindowStartupLocation="CenterScreen">
    10     <Grid Background="Blue">
    11         <Grid.Clip>
    12             <RectangleGeometry RadiusX="50" RadiusY="50" Rect="0,0,500,500"></RectangleGeometry>
    13         </Grid.Clip>
    14     </Grid>
    15 </Window>

    代码示例(利用Border实现圆角窗口)

     1 <Window x:Class="Test"
     2         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     3         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     4         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
     5         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
     6         xmlns:local="clr-namespace:CaiPiaoUI"
     7         mc:Ignorable="d"
     8         Title="Test" Height="500" Width="500" WindowStyle="None" AllowsTransparency="True" 
     9         Background="Transparent" WindowStartupLocation="CenterScreen">
    10     <Grid>
    11         <Border BorderThickness="20" CornerRadius="50" Background="Blue"></Border>
    12     </Grid>
    13 </Window>

    这里特别注意一点,就是窗口背景色设置的位置:
    Clip实现方式中,窗口背景色设置在Grid上;

    Border实现方式中,窗口背景色设置在Border上。

  • 相关阅读:
    实验一、词法分析实验
    词法分析程序新
    词法分析程序
    我对编译原理的理解
    Unity3d数据存储 PlayerPrefs,XML,Json数据的存储与解析
    Unity3d网络总结(三) 封装Socket创建简单网络
    Unity3d网络总结(二)使用NetWorking代码搭建简单的网络模块
    Unity3d网络总结(一) NetWork组件使用
    Unity加载AB包
    unity编辑器拓展
  • 原文地址:https://www.cnblogs.com/PolarisSky/p/4783828.html
Copyright © 2011-2022 走看看