WPF 调整大小,同时保持固定高度
本文关键字:高度 调整 WPF | 更新日期: 2023-09-27 17:56:07
我有一个正在处理的 WPF 应用程序,并且正在使用图像构建表单...不过,我在调整表单大小时遇到了问题。
问题是,对于顶部的各个行背景,我需要将高度保持在固定大小,同时允许宽度调整大小以适应窗口......但是,每当我尝试放置高度或最大高度值或类似值时,图像控件都会完全停止适合窗口。
现在我可能完全错误地处理这个问题,因为我对 WPF 很陌生,所以如果有人有更好的方法来做到这一点,请告诉我。
这是我到目前为止使用的 XAML,问题出在 TitleBarImage 上:
<Window x:Class="App.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Application" Height="{Binding SystemParameters.PrimaryScreenHeight}" Width="{Binding SystemParameters.PrimaryScreenWidth}" AllowsTransparency="True" WindowStyle="None" MinWidth="1024" MinHeight="749" WindowStartupLocation="CenterScreen">
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Image x:Name="TitleBarImage" Grid.Row="0" Grid.ColumnSpan="3" HorizontalAlignment="Stretch" VerticalAlignment="Top" Source="skin/title-bar.png" MouseLeftButtonDown="TitleBarImage_MouseLeftButtonDown" MouseDown="TitleBarImage_MouseDoubleClick"/>
<Image HorizontalAlignment="Right" Grid.Row="0" Grid.Column="2" Height="23" Margin="0,17,74,0" VerticalAlignment="Top" Width="34" Source="skin/min-button.png" MouseLeftButtonUp="MinImage_MouseLeftButtonUp"/>
<Image HorizontalAlignment="Right" Grid.Row="0" Grid.Column="2" Height="23" Margin="0,17,40,0" VerticalAlignment="Top" Width="34" Source="skin/max-button.png" MouseLeftButtonUp="MaxImage_MouseLeftButtonUp"/>
<Image HorizontalAlignment="Right" Grid.Row="0" Grid.Column="2" Height="23" Margin="0,17,7,0" VerticalAlignment="Top" Width="33" Source="skin/close-button.png" MouseLeftButtonUp="Image_MouseLeftButtonUp_1" RenderTransformOrigin="21.121,-4.522"/>
</Grid>
</Window>
您需要将
图像上的 Stretch 属性设置为 Fill,否则它将保持其原始纵横比并且无法正确适合该区域。
<Image ... Stretch="Fill"/>