我正在重写一个在FoxPro中构建的旧应用程序,我的客户端不希望在GUI中进行任何更改,因此我必须使用wpf创建一个旧的DOS样式的GUI应用程序,这是我的问题开始的地方。 较旧的应用程序是一个全屏应用程序,所以在这里我也必须使它全屏没有任务栏..没有。现在我改变了属性,在我的第一个窗口中一切都工作得很好。但是只要我使用 window2.showdialog()来调用我的第二个窗口,它也应该全屏BOOM ...尽管我使用相同的设置,但第二个窗口会留下一些空间bottem(尽管它边界较少而且全部都是)现在我不知道这里出了什么问题....
这是我的第一个完美运作的窗口:
<Window x:Class="WpfAppMT.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"
xmlns:mt="clr-namespace:WpfAppMT"
Title="MT" WindowStyle="None" WindowState="Maximized" ResizeMode="CanResize" SizeToContent="WidthAndHeight" Topmost="False" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" d:DesignHeight="640" d:DesignWidth="480">
<Viewbox Stretch="Fill">.....</Viewbox></Window>
这是第一个窗口的屏幕截图,非常好:
这是我的第二个窗口的xaml,从第一个窗口的事件处理程序调用时总是在底部缩短
<Window
x:Class="WpfAppMT.accountheads"
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="accountheads" Background="#FF008284" WindowStyle="None" WindowState="Maximized" ResizeMode="CanResize" SizeToContent="WidthAndHeight" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" d:DesignHeight="640" d:DesignWidth="480" KeyDown="Window_KeyDown">
.....</Window>
在这里你可以看到第二个窗口不是全屏但是在底部留下了很多空间我不明白这种奇特行为背后的原因...... 除此之外,我面临着一个特殊的问题,应用程序的GUI在不同的操作系统上看起来不同...我的意思是我在XP机器上将它看起来不同(位置/长度/宽度),今天我测试它在Windows 7上,外观上有很多不同。您可以看到,在第二个窗口中,应该位于底部的文本框已经出现
答案 0 :(得分:0)
OK ..所以经过一些试验和错误我找到了解决方案,在这种情况下问题是 SizeToContent 属性我将它设置为WidthandHeight但它应该设置为Manual,所以这回答了全屏问题,但仍具有可移植性的问题仍然存在