- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我使用 WindowChrome 自定义窗口。当我最大化窗口时,边缘超出了屏幕。我使用以下代码来解决此问题:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<WindowChrome.WindowChrome>
<WindowChrome CaptionHeight="50" CornerRadius="0" GlassFrameThickness="0" NonClientFrameEdges="None" ResizeBorderThickness="5" UseAeroCaptionButtons="False" />
</WindowChrome.WindowChrome>
<Grid>
<Grid.Style>
<Style TargetType="{x:Type Grid}">
<Setter Property="Margin" Value="0" />
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=WindowState}" Value="Maximized">
<Setter Property="Margin" Value="{x:Static SystemParameters.WindowResizeBorderThickness}" />
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>
<Border BorderThickness="2" BorderBrush="Blue" Background="Yellow" />
</Grid>
</Window>
我的问题:如何获得正确的像素数,使边缘不超出屏幕。
SystemParameters.WindowResizeBorderThickness 包含不正确的值。
最佳答案
WindowChrome 在最大化时基本上会重叠 ResizeBorderThickness
的大小。
如果您希望窗口在最大化时完全可见,只需在您的网格样式中使用 WindowChrome ResizeBorderThickness (5px)
作为 Margin
:
<Setter Property="Margin" Value="5" />
否则,如果您希望边框的 BorderThickness
不可见当窗口最大化时,除了网格中的 WindowChrome ResizeBorderThickness (5px)
之外,您还应该使用 Border 的 BorderThickness (2px)
作为 Margin
风格。那么 Margin
将是 7px。
关于c# - WPF WindowChrome : Edges of maximized Window are out of the screen,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36725769/
我的 WPF 应用程序有一个自定义 WindowChrome 样式(从这里获取:http://www.bdevuyst.com/wpf-custom-title-bar-and-taskbar/)。
我正在设计一个 Window,但我注意到 WindowChrome 的这种奇怪行为(在 .NET FW 4.0 中,来自 external Microsoft.Windows.Shell dll)。
因为 WPF 没有允许显示多个月份的月历,所以我尝试在 WindowsFormsHost 中使用经典的 WindowsForms MonthCalendar。在“普通”WPF 窗口中执行此操作效果很好
使用 WindowChrome 时( downloadable here ) 要自定义窗口的非客户区,一个自然的起点是制作一个外观和行为与标准标题栏相同的标题栏。这需要添加一个“假”应用程序图标和标题
我正在使用 WindowChrome 以简单快速的方式重新设置窗口样式,但问题是在调整窗口大小时会出现闪烁,尤其是在从左向右调整大小时。
我已经在谷歌上搜索了很多,但找不到任何有效的解决方案。我使用 Shell 集成库来创建自定义 Window Chrome,我还需要该窗口的阴影。有人说将 GlassFrameThickness 设置为
我正在使用 WindowChrome 创建自定义 WPF 窗口。我定义了自己的样式,但标题栏出现问题。如果我将模板中的主要 Grid 的 Background 设置为 Transparent,则整个窗
我正在检查 System.Windows.Shell 库 (v 3.5.41019.1) 中的 WindowChrome 类。当我尝试创建 Window 模板时,模板中 Border 元素的边距似乎没
我发现在 WPF 窗口上使用 WindowChrome 可以让我把内容放在窗口中我想要的任何地方,这是一个很好的想法。现在我终于可以让标题栏与我的应用程序的其余部分具有相同的颜色。 但是,我仍然喜欢出
我使用 WindowChrome 自定义窗口。当我最大化窗口时,边缘超出了屏幕。我使用以下代码来解决此问题:
我在 Windows 8.1 上使用自己风格的 WPF 窗口存在一些问题。我用 WindowChrome 编写了一个简单的透明 WPF 窗口,用于默认窗口拖动行为:
我正在尝试使用 WindowChrome 类自定义窗口边框。没有 Windows Aero 玻璃效果。不出所料,我最终得到了一个黑人寄宿生。但我最终也没有字幕按钮 我从微软了解到,我可以通过将窗口样式
我是一名优秀的程序员,十分优秀!