WPF中窗口最大化时如何实现内容自适应调整大小?
WPF窗口最大化时图片适配窗口尺寸的解决方案
你的问题核心是给<Image>设置了固定的Width="450"和Height="450",这会强制图片保持固定尺寸,无法随窗口缩放。只需要调整几个属性就能解决:
- 移除Image标签里的固定宽高属性
- 添加
Stretch属性控制图片缩放方式 - 确保容器布局正确(你现有代码里的Grid和DockPanel设置已经满足)
修改后的完整XAML代码:
<Window x:Class="Window_Image" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" mc:Ignorable="d" d:DesignHeight="550" d:DesignWidth="550"> <Grid> <DockPanel LastChildFill="True" Name="ImgDock" Background="Transparent" > <Image Source="../res/myimage.png" x:Name="ImageComp" Visibility="Visible" Stretch="Uniform" /> </DockPanel> </Grid> </Window>
关于Stretch属性的可选值,你可以根据需求选择:
Uniform:保持图片原始宽高比,尽可能填满容器,不会变形(推荐)UniformToFill:保持宽高比,填满整个容器,超出部分会被裁剪Fill:拉伸图片填满容器,可能导致图片变形None:保持图片原始尺寸,不缩放
这样修改后,窗口最大化时,Grid会撑满整个窗口,DockPanel也会跟着填满Grid,最后Image会根据Stretch属性的设置自适应窗口尺寸。
内容的提问来源于stack exchange,提问作者JuniorDev13
相关产品推荐
相关产品推荐

