我建立了一个对话框窗口,打算在整个应用程序中使用它而不是使用消息框。每当我需要使用它时,我都会在Window后面的代码中调用它,而我目前正在使用以下语法:
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和MinHeght = 720)时,对话框“ kinda”适合(Window和DialogWindow的ActualWidth和Actual Height相同,但从外观上看,DialogWindow似乎要大一点)比所有者)
但是当我全屏显示时,会发生这种情况:
{{3}}
不仅ActualHeight与属性AHeight(已正确设置为Owner的ActualHeight)不同,而且也不完全位于Owner窗口的中心,而是在第二个屏幕上溢出。是什么原因造成的,我该如何解决?
答案 0 :(得分:0)
所以我要发布解决它的问题的方法,但是我绝对不知道为什么会这样,所以如果有人有更好的答案,我将检查是否接受。 为了解决我的问题,我删除了宽度和高度的绑定,只是在DialogWindow的构造函数中添加了
this.Width = OwnerActualWidth;
this.Height = OwnerActualHeight;
因为我要在输入中传递这些参数