В настоящее время я работаю над полноэкранным приложением WPF. Приложение переходит в полноэкранный режим при событии Window_Loaded.
Внутри окна у меня есть Canvas. Внутри холста у меня есть MediaElement и 3 изображения. Вот XAML:
<Window x:Class="Test_CS4.MainWindow"
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"
xmlns:local="clr-namespace:Test_CS4"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800" Loaded="Window_Loaded" AllowDrop="True" Background="Black">
<Canvas x:Name="myCanvas" HorizontalAlignment="Center" VerticalAlignment="Center" UseLayoutRounding="True" >
<MediaElement x:Name="mediaElement1" MediaEnded="mediaElement_OnMediaEnded" Canvas.ZIndex="1" Height="390" VerticalAlignment="Center" MouseLeftButtonDown="mediaElement1_MouseLeftButtonDown_1" HorizontalAlignment="Center" Width="767" Canvas.Left="-384" Canvas.Top="-190"/>
<Image x:Name="image1" Canvas.ZIndex="2" Height="390" Width="791" HorizontalAlignment="Center" VerticalAlignment="Center" Canvas.Left="-795" Canvas.Top="-392" />
<Image x:Name="checkImg" HorizontalAlignment="Left" Height="54" Margin="50,196,0,0" VerticalAlignment="Top" Width="67"/>
<Image x:Name="crossImg" Height="54" Margin="0,196,663,0" VerticalAlignment="Top" MouseLeftButtonDown="crossImg_MouseLeftButtonDown" HorizontalAlignment="Right" Width="67"/>
</Canvas>
</Window>
Проблема
Когда я запускаю приложение, холст не может обновляться и помещаться на весь экран. Поэтому, когда я пытаюсь установить положение для изображений (например, с помощью Canvas.SetLeft (this.crossImg, 0);), создается впечатление, что холст фактически перемещается, когда окно становится полноэкранным.
Мне нужно установите "координаты xy" изображений и измените их соответственно. Я пробовал с сеткой, но она не позволяет мне наложить изображение поверх MediaElement, поэтому я получаю, что холст путь к go.
Вопрос
Как я могу изменить размер холста, чтобы он соответствовал окну программно, когда окно переходит в полноэкранный режим?