我已经构建了一个对话框窗口,计划在整个应用程序中使用,而不是使用消息框。每当我需要使用它时,我都会在窗口后面的代码中调用它。我目前正在使用这种语法:
public void ShowDialogWindow(object sender, DialogEventArgs e)
{
DialogWindow dialog = new DialogWindow(e.MessageToShow, DialogType.Error, ButtonsType.OkOnly, this.ActualWidth, this.ActualHeight, this);
dialog.ShowDialog();
}
这是我的对话窗口的构造函数
public DialogWindow(string messageToDisplay, DialogType dialog, ButtonsType buttons, double width, double height, object Owner)
{
InitializeComponent();
this.DataContext = this;
this.Owner = Owner as Window;
AWidth = width;
AHeight = height;
-----
}
这是XAML中的打开窗口标记
<Window x:Class="DialogWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
---
mc:Ignorable="d" WindowStyle="None"
WindowStartupLocation="CenterOwner"
AllowsTransparency="True"
Width="{Binding AWidth}" Height="{Binding AHeight}"
MinHeight="720" MinWidth="1080">
现在我的问题是。当我在最小化所有者(设置minwidth=1080和minheight=720)时调用此对话框时,对话框“有点”合适(窗口和对话框窗口的实际宽度和实际高度相同,但从视觉上看,对话框窗口似乎比所有者大一点)。
但当我全屏播放时,会发生以下情况:
不仅实际高度不同于属性aheight(正确设置为所有者的实际高度),而且根本不在所有者窗口的中心,而是在第二个屏幕上溢出。这是什么原因,我怎么解决?