我试图同时使用SizeToContent="WidthAndHeight“和WindowState =”最大化“。在加载期间,以及在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将有一个恒定的宽度。这意味着,如果监视器的大小变小,那么将不会显示大于屏幕的部分MainWindow。我希望我说得很清楚。
发布于 2014-09-01 10:51:42
谢谢尤金我有个主意。我已经尝试在运行时更改我的MainWindow的状态,但是它没有工作(MainWindow没有占据整个屏幕)。
正如尤金提到的,原因是这些属性相互冲突(SizeToContent获得优先权),所以我必须关闭其中一个,以便能够打开另一个属性。因此,要解决这个问题:
private void MainWindowMy_Loaded(object sender, RoutedEventArgs e)
{
this.SizeToContent = System.Windows.SizeToContent.Manual;
this.WindowState = System.Windows.WindowState.Maximized;
}这不是最优雅的方式,但它目前的目的。不过,如果有人能想出一个更优雅的解决方案,我们将不胜感激。
https://stackoverflow.com/questions/25591359
复制相似问题