gpt4 book ai didi

Auto 和 SizeToContent ="Height"上的 WPF 滚动条位于 Windows7 工具栏下

转载 作者:行者123 更新时间:2023-12-01 00:58:18 24 4
gpt4 key购买 nike

我有 WPF 滚动条设置为 Auto 的特殊问题和 Window设置为 SizeToContent="Height"将自身调整到 Windows 7 工具栏下。
enter image description here
XAML 真的很简单。

<Window x:Class="....ProbateControllerView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Probate" Width="1100" ResizeMode="CanMinimize" Background="White" SizeToContent="Height">
<Grid>
<ScrollViewer VerticalScrollBarVisibility="Auto" >
<StackPanel>
<ContentControl HorizontalAlignment="Center" DockPanel.Dock="Top" x:Name="ActiveItem"/>
</StackPanel>
</ScrollViewer>
</Grid>
</Window>
我可以添加 Height并设置为 SizeToContent="Manual"Window 一致但是当分辨率较低时,我会遇到同样的问题。
我相信现在有人遇到了这个问题,我一定在这里遗漏了一些东西。

最佳答案

您可以设置 Window 的 MaxHeight至 SystemParameters.MaximizedPrimaryScreenHeight在窗口的构造函数中:

public MainWindow()
{
InitializeComponent();
this.MaxHeight = SystemParameters.MaximizedPrimaryScreenHeight;
}

奇怪的是,对我来说,窗口仍然稍微隐藏在任务栏后面,但调整为 20 看起来不错。
this.MaxHeight = SystemParameters.MaximizedPrimaryScreenHeight-20;

我已经在各种操作系统和屏幕分辨率上尝试过这个,20 的调整似乎在 Windows 7/8 上运行良好。在 XP 等系统上,不需要进行调整,因此最终窗口会略小于屏幕高度。我想如果这是一个问题,您可以检测操作系统版本并在必要时应用调整。

如果您不需要应用调整,您可以在 xaml 中定义它:
MaxHeight="{DynamicResource {x:Static SystemParameters.MaximizedPrimaryScreenHeightKey}}"

关于Auto 和 SizeToContent ="Height"上的 WPF 滚动条位于 Windows7 工具栏下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25790674/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com