问题标签 [window-chrome]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
345 浏览

c# - 具有自定义 WindowChrome 的 WPF 窗口以不同方式最大化

我刚刚开始在 WPF 窗口上使用WindowChrome 类。我注意到,在最大化窗口时,它的显示会有所不同,具体取决于我使用的是标准 Chrome 还是自定义 Chrome。为什么?

在这两种情况下,我都双击窗口顶部以最大化,后面没有代码。

这是 XAML - 添加或删除 WindowChrome 我只是删除 Style 属性。

正常ChromeNotMaximized 未最大化,标准 Chrome - 注意蓝绿色边框

普通铬最大化 最大化,标准 Chrome - 这显示了适合屏幕的完整蓝绿色边框。

自定义ChromeNotMaximized 使用 WindowChrome 样式的 Window 看起来就像没有最大化。您会看到我的 WindowChrome 和蓝绿色边框的边框。

自定义Chrome最大化 这就是它看起来最大化的样子。我在 Window Chrome 中的边框消失了,只有大约一半的蓝绿色边框在那里。

我还注意到,当我查看最大化时窗口的实际宽度和高度时,值是相同的。只是显示的内容不同。

0 投票
1 回答
212 浏览

wpf - 让用户在窗口外抓取窗口以调整大小

在我的 WPF 应用程序中,我通过设置 Window 样式的 WindowChrome 属性来覆盖默认的窗口镶边(如此处所述

我希望用户能够抓取窗口以将其调整到窗口外几个像素的大小,就像 Visual Studio 的做法一样。我已经玩过 ResizeBorderThickness,但这似乎只定义了窗口内的区域。

我怎么能这样做?

下面的 gif 演示了 Visual Studio 和我的应用程序之间的区别。

Visual Studio 和我的应用程序的区别

0 投票
1 回答
439 浏览

c# - 如何平滑 WindowChrome 的 CornerRadius?

我使用 WindowChrome 创建简单的窗口。当我使用 CornerRadius 时,窗口的角落变成了像素阶梯。我如何平滑它?

例子

0 投票
1 回答
111 浏览

c# - WPF WindowChrome ContentPresenter 不显示内容

当我尝试显示内容时,ContentPresenter我什么也看不到。测试块不显示任何文本,它似乎被隐藏了。

我主要对如何显示内容感到困惑。我看到其他帖子说这种使用方法ContentPresenter有效,但它对我不起作用。

0 投票
1 回答
309 浏览

wpf - 如何使用 WindowChrome 在 WPF 自定义标题栏上显示默认按钮

我正在关注文章Restyle Your Window,其中作者将标题栏上的最大化按钮显示为 character #。但我想向它显示一个默认按钮,如下所示:

在此处输入图像描述

目前我的自定义标题栏如下所示:

在此处输入图像描述

问题:我们如何修改下面的xaml来实现上面的?我在想可能是我们只需要修改以下标签:

MyWindowStyle.xaml

0 投票
1 回答
151 浏览

c# - 自定义 WindowChrome [ Wpf Core 3.1; MvvmCross 7.0.0]

如何WindowChrome在使用MvvmCross时自定义类?

我有这个:

在我MvxWindow的里面,WindowStyle设置为none.
问题是它MvxWindow似乎没有显示任何东西。这意味着我也无法创建我需要的按钮。我不知道MvvmCross是否希望每个 UI 元素都成为 a 的一部分View或发生了什么。调整大小甚至右键单击不可见边框都可以正常工作。有什么方法可以做到这一点,而不必WindowChrome在 a 中重建整个功能View

0 投票
1 回答
110 浏览

wpf - 防止wpf窗口在没有allowstransparency = true的情况下呈现黑色背景

我在一个窗口上有一些动画,这些动画应该是整体透明的,并且可以在多个屏幕上拉伸。我不需要标题栏或背景。我想节省资源。当我将allowtransparency(对性能不利)设置为false时,透明背景会呈现为黑色。是否有一些更轻的替代方法甚至可以阻止窗口呈现背景?

我没有在替代渲染或窗口上找到任何东西。我看到窗口类继承自 Window : ContentControl, IWindowService 但我想我不应该研究它。

我没有代码来显示至少接受我正在使用的

在不使用allowtransparency=true 的情况下禁用松散窗口上的透明度填充。

0 投票
1 回答
63 浏览

c# - 使用 wpf 制作自定义窗口镶边

(这是一个问答式的问题,我自己已经回答过了)

" 我正在 wpf 中制作自定义窗口镶边,但是当我将其设置为 windowStyle=none 时

  • 窗外的剪辑
  • 我不能拖动窗口
  • 并且窗口覆盖了任务栏

"

0 投票
1 回答
36 浏览

wpf - 即使设置了 WindowChrome 也会出现默认标题栏

我正在使用 WindowChrome,并自定义我的应用程序的边框和标题栏,它在大多数情况下都可以正常工作:

在此处输入图像描述

但是,由于某种原因,当我在某个虚拟机(在这种情况下,使用 VMware 的德语)上运行时,会出现一个白色边框和标题栏(虽然没有标题),并覆盖我的自定义标题栏:

在此处输入图像描述

奇怪的是,我尝试使用Snoop检查应用程序,即使在 VM 上,Snoop 似乎也不承认存在此栏。例如,将鼠标悬停在不同的 WPF 组件上,如果我使用 Snoop 的“放大”功能,标题栏会正确显示!

在此处输入图像描述

这个标题栏可能来自哪里以及如何摆脱它?

下面是一个简单应用程序的 XAML 代码,它表现出同样的问题:

0 投票
1 回答
26 浏览

c# - WindowChrome 导致视图 ContentControl 绑定出现问题?

我一直在开发一个用于 ISO 集成的小工具,我决定将 WPF 用于 UI。我也在尽我所能在未来的项目中遵循 MVVM 模式。对于主窗口,我决定使用 WindowChrome,这样我就可以使用重新设置样式的窗口继续调整大小,但是,当我尝试选择不同的视图时,它会导致异常。我对其进行了测试,它确实可以正常工作,但是一旦我尝试将内容绑定到模板内容,它似乎会导致更改当前视图出现问题。

主窗口 xaml:

主窗口视图模型(数据绑定在 xaml.cs 中完成,因为它需要一个窗口):

我试图绑定的视图是一个页面,所以我不确定这是否会导致问题,但我尝试了很多不同的组合,我共享的组合导致异常。如果我没有绑定到模板内容,它会正常工作。我对为什么会发生这种情况感到困惑,并且作为旁注,窗口中的按钮并没有像它们应该的那样弯曲,所以如果你也有解决方案,那将不胜感激!谢谢你,我希望你过得愉快!