.net - 如何创建一个没有边框且只能通过 handle 调整大小的 WPF 窗口?

标签 .net wpf window controltemplate resizegrip

如果您在 WPF Window 上设置 ResizeMode="CanResizeWithGrip",则调整大小夹点会显示在右下角,如下所示:

如果您设置了 WindowStyle="None",标题栏会消失,但灰色斜角边缘将保留,直到您设置 ResizeMode="NoResize"。不幸的是,设置了这种属性组合后,调整大小夹点也会消失。

我已经通过自定义Style覆盖了WindowControlTemplate。我想自己指定窗口的边框,并且不需要用户能够从所有四个侧面调整窗口的大小,但我确实需要一个调整大小的 handle 。

有人可以详细说明满足所有这些标准的简单方法吗?

  1. 除了我在 ControlTemplate 中指定的边框之外,Window 上不要有边框
  2. 右下角一定有一个可以调整大小的 handle 。
  3. 没有标题栏。

最佳答案

如果您在Window上设置了AllowsTransparency属性(即使没有设置任何透明度值),边框也会消失,并且您只能通过夹点调整大小。

<Window
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Width="640" Height="480" 
    WindowStyle="None"
    AllowsTransparency="True"
    ResizeMode="CanResizeWithGrip">

    <!-- Content -->

</Window>

结果如下:

关于.net - 如何创建一个没有边框且只能通过 handle 调整大小的 WPF 窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/611298/

相关文章:

.NET Core 使用 ConfigurationManager.AppSettings 使用标准 .NET 库

c# - 无法在计算机上打开服务控制管理器

c# - 未启用时更改按钮背景

c# - 防止 ScrollViewer 处理 ListBox 项中的 Tap 事件

javascript - 当我点击浏览器的“后退”按钮时,AngularJS的 `$location.path()`没有改变?

c - 如果新窗口为 x11,则自动对焦

c# - 从两个按钮 (form1) 和被点击的匹配按钮打开 form2

c# - 验证来自 OneLogin 的 Saml 响应

c# - 绑定(bind)组合框以显示整数值

jquery - 如何使内容适合浏览高度