Я показываю некоторые изображения в верхней части окна приложения GUI приложения (справа на том же уровне, что и в меню приложения), однако эти изображения в настоящее время видны только тогда, когда окно приложения является определенным размером ...XAML- Как дать элементам в сетке абсолютное положение, когда окно можно изменить?
Если я изменил размер окна приложения, перетянув верхний край выше, чтобы сделать окно выше, эти изображения исчезнут за элементами под ними, поскольку я продолжаю увеличивать размер окна или, если изменить размер окна приложения чтобы сделать его короче, изображения исчезают за элементами над ними, поскольку я продолжаю уменьшать размер окна.
Однако другие элементы, которые я показываю в одной и той же сетке, остаются видимыми и перемещаются относительно размера окна (т. Е. Чтобы они не перемещались независимо от размера окна - они изменялись . на дисплее, наряду с самим окном
Например, это строка меню моего приложения, когда окно является «идеальным» размер:
Вы можете увидеть, что изображение на правой правой стороне отображаются правильно.
Однако, если изменить размер окна, чтобы сделать его выше, образы исчезают под основным содержанием изображенную ниже них на окне:
Или, если изменить размер окна, чтобы сделать его меньше, образы исчезают под «Menubar» над ними:
Как я могу заставить изображения остаться в том же месте, отношение к остальной части отображается в моем XAML контента? Эти изображения отображаются непосредственно внутри <grid>
в корневой <Window>
тег:
<Window ... >
<Window.Resources>
...
</Window.Resources>
<Grid>
<Image x:Name="Image1" Source="C:\...\image1.png" Height="30" Width="30" VerticalAlignment="Center" Margin="750,0,-5,640"></Image>
<Image X:Name="Image2" Source="C:\...\image2.png" Height="30" Width="30" VerticalAlignment="Center" Margin="650,0,-5,640"></Image>
<TabControl ...>
...
</TabControl>
</Grid>
</Window>
Edit
мне удалось частично решить проблемы выше- один из изображений теперь отображается в правильном месте , и его положение остается актуальным для других элементов графического интерфейса пользователя при изменении размера окна.Он также отображается независимо от того, какой размер окна:
Я сделал это, помещая изображения внутри <DockPanel>
в <Grid>
:
<Window ... >
<Window.Resources>
...
</Window.Resources>
<Grid>
<DockPanel x:Name"ConnectionImagesWrapPanel" Grid.Row="1">
<Image x:Name="Image1" Source="C:\...\image1.png" Height="30" Width="30" HorizontalAlignment="Right" VerticalAlignment="Top" DockPanel.Dock="Right" Margin="0,15,0,0"></Image>
<Image X:Name="Image2" Source="C:\...\image2.png" Height="30" Width="30" HorizontalAlignment="Right" VerticalAlignment="Top" DockPanel.Dock="Right" Margin="0,15,0,0"></Image>
<Image x:Name="Image3" Source="C:\...\image3.png" Height="30" Width="30" HorizontalAlignment="Right" VerticalAlignment="Top" DockPanel.Dock="Right" Margin="0, 20, 0, 640"></Image>
<Image x:Name="Image4" Source="C:\...\image4.png" Height="30" Width="30" HorizontalAlignment="Right" VerticalAlignment="Top" DockPanel.Dock="Right" Margin="0, 20, 0, 640"></Image>
</DockPanel>
<TabControl ...>
...
</TabControl>
</Grid>
Однако один других изображений отображается только тогда, когда я вручную изменяю размер окна, чтобы увеличить его, перетащив один из углов - это изображение затем «попадает в область видимости», когда я расширяю окно:
и полностью отображается, как только я расширил окно достаточно далеко:
Как вы можете видеть из XAML
, что я разместил, изображения 1 & 2 должны быть отображается в том же месте, а изображения 3 & 4 должно отображаться в том же месте - рядом с изображениями 1 & 2 (У меня есть другой код, определяющий, какие изображения должны отображаться в заданное время, то есть 1 или 2, 3 или 4).
Тем не менее, по какой-то причине, даже если я установить Margin
для изображений 1 & 2 и 3 & 4 до одинаковых значений, они отображаются все подряд (т.е. пространство между двумя изображениями показано вызвано два изображений в настоящее время не показаны.
Почему я получаю эти несоответствия с тем, как /, которые показываются изображения, даже если XAML
разметки я использую, чтобы отобразить их идентична?
Эти поля в нижней части? Они выглядят проблематично – afaolek