Ze względu na dokumentację dodam tutaj przykład, w jaki sposób osiągnąłem coś podobnego. Potrzebowałem wyskakującego okienka, które obejmowało cały nadrzędny obszar zawartości okna (z wyjątkiem paska tytułu), ale po prostu wyśrodkowanie okna dialogowego i rozciągnięcie jego zawartości nie działało, ponieważ okno dialogowe zawsze było nieco przesunięte od dołu.
Uwaga na temat wrażeń użytkownika: Nie jest miło nie móc przeciągać / zamykać okna nadrzędnego, gdy wyświetlane jest okno dialogowe bez obramowania, więc ponownie rozważę jego użycie. Postanowiłem również nie robić tego po opublikowaniu tej odpowiedzi, ale pozostawiam to innym do obejrzenia.
Po pewnym googlowaniu i testowaniu w końcu udało mi się to zrobić w ten sposób:
var dialog = new DialogWindow
{
Owner = this
};
dialog.WindowStartupLocation = WindowStartupLocation.Manual;
dialog.WindowStyle = WindowStyle.None;
dialog.ShowInTaskbar = false;
dialog.ResizeMode = ResizeMode.NoResize;
dialog.AllowsTransparency = true;
var ownerContent = (FrameworkElement) Content;
dialog.MaxWidth = ownerContent.ActualWidth;
dialog.Width = ownerContent.ActualWidth;
dialog.MaxHeight = ownerContent.ActualHeight;
dialog.Height = ownerContent.ActualHeight;
var contentPoints = ownerContent.PointToScreen(new Point(0, 0));
dialog.Left = contentPoints.X;
dialog.Top = contentPoints.Y;
dialog.ShowDialog();
DialogWindowJest okno, a jego właściciel jest ustawiony do głównego okna aplikacji. WindowStartupLocationMusi być ustawionyManual do ręcznego pozycjonowania do pracy.
Wynik:


Nie wiem, czy jest na to łatwiejszy sposób, ale wydawało mi się, że nic innego nie działa.