Не могу развернуть дочернее окно в wpf - PullRequest
0 голосов
/ 09 августа 2011

Я переписываю старое приложение, построенное на FoxPro, и мой клиент не хочет никаких изменений в графическом интерфейсе, поэтому мне нужно создать старое приложение с графическим интерфейсом в стиле DOS, используя wpf, и здесь начинается моя проблема.Старое приложение было полноэкранным, поэтому и здесь я должен сделать его полноэкранным без панелей задач .. ничегоТеперь я изменил свойства, и все работало очень хорошо в моем первом окне.но как только я использую window2.showdialog () , чтобы вызвать мое второе окно, которое тоже должно перейти в полноэкранный режим BOOM ... несмотря на то, что я использую идентичные настройки, второе окно оставляет некоторое пространство на дне(хотя это граница меньше и все) теперь я не знаю, что здесь происходит не так ...

Вот мое первое окно, которое отлично работает:

  <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>

вот снимки экранапервого окна, которое совершенно нормально: enter image description here

и это 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>

enter image description here

Здесь вы можете видеть, что второе окно не полноэкранное, но оставляет много места внизу. Я не понимаю причину этого специфического поведения ... Помимо этого я сталкиваюсьспецифическая проблема - графический интерфейс приложения выглядит по-разному на разных ОС ... Я имею в виду, что я делаю его на компьютере с XP, где он выглядит по-разному (позиции / длина / ширина), исегодня, когда я тестировал его на Windows 7, во взгляде есть большая разница.Вы можете видеть, что во втором окне появилось текстовое поле, которое должно было быть внизу

1 Ответ

0 голосов
/ 10 августа 2011

ОК, поэтому после некоторых проб и ошибок я нашел решение. В этом случае проблема была связана со свойством SizeToContent . Я установил его на WidthandHeight, но оно должно быть установлено на Вручную, так что это полностью отвечаетвопрос экрана, но проблема с переносимостью сохраняется

...