【发布时间】:2014-08-31 11:07:14
【问题描述】:
我试图同时拥有 SizeToContent="WidthAndHeight" 和 WindowState = "Maximized"。我尝试在加载期间以及在 MainWindow 的构造函数中更改窗口的状态,但没有成功。
<Window x:Name="MainWindowMy" x:Class="ManyTabControls.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
Title="Pressure Vessel Design" WindowState="Maximized" SizeToContent="WidthAndHeight" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.CanContentScroll="True" ScrollViewer.HorizontalScrollBarVisibility="Auto" Loaded="MainWindowMy_Loaded" >
<Window.Resources>
我有一个带有很多选项卡的 TabControl,在设计查看器中,选项卡向下流入不同的行。当我更改 TabControl 的宽度以使选项卡位于同一行时,它们会超出 MainWindow 的边界。如果我设置主窗口的宽度,那么主窗口将具有恒定的宽度。这意味着如果监视器的尺寸变小,那么比屏幕大的部分 MainWindow 将不会显示。我希望我说清楚了。
【问题讨论】:
-
您希望
Maximised和SizeToContent如何协同工作?他们是矛盾的。你预计会发生什么? -
会发生什么? “没有运气”不是一个好的问题陈述。
-
加载窗口时,它不会最大化。为什么它不能具有内容的大小并在加载时最大化。如您所见,这两个属性是共存的!一个人如何优先于另一个人。
-
Maximised表示窗口无论其内容如何都必须填满整个屏幕空间,SizeToContent表示无论其大小如何,它都必须缩小或增加其大小以适应内容。它们完全不兼容,因为它们在相同情况下的行为不同,但由于布局计算的顺序,SizeToContent具有更高的优先级(或某种)。他们应该如何同时工作?例如,您有 1 个 100x100 像素的控件,而您的屏幕是 1000*500,布局应该如何? -
我想要实现的是,当我在设计查看器中时,我希望能够查看 tabControls、网格等的所有内容,一旦我启动我的应用程序,窗口会填满整个屏幕。我有 2 个选项,一个为我的窗口设置宽度和高度,但如果屏幕变小,它可能会离开屏幕。另一种选择是在设计查看器中使用 Size to Content,一旦应用程序启动,它就会忽略它并应用 WindowState="Maximized"。或者我只想申请 Windowsstate="Maximized",