【发布时间】:2014-03-29 15:34:35
【问题描述】:
我的窗口有WindowStyle="None" 和ResizeMode="CanResize",所以最大化它会覆盖任务栏。我有一个解决方法,在最大化之前将 MaxWidth 和 MaxHeight 设置为 WorkArea 尺寸,当任务栏向下时它工作得很好,但是当任务栏位于屏幕窗口的左侧时,它的位置仍然是 0,0 并且在它下面。
我想将最大化窗口的 TopLeft 偏移到 WorkArea 的 TopLeft。 Window 具有 margin 属性,但这似乎不起作用。
我尝试了以下操作,但似乎无法移动/偏移最大化的窗口。
private void mywindow_StateChanged(object sender, EventArgs e)
{
if (this.WindowState == WindowState.Maximized)
{
MaxHeight = SystemParameters.MaximizedPrimaryScreenHeight;
MaxWidth = SystemParameters.MaximizedPrimaryScreenWidth;
double ScreenXOffset = System.Windows.SystemParameters.WorkArea.TopLeft.X;
mywindow.Left = ScreenXOffset;
mywindow.Margin = new Thickness(ScreenXOffset,0,0,0);
}
还有关于解决方法的想法?
【问题讨论】: