You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WPF中窗口最大化时如何实现内容自适应调整大小?

WPF窗口最大化时图片适配窗口尺寸的解决方案

你的问题核心是给<Image>设置了固定的Width="450"和Height="450",这会强制图片保持固定尺寸,无法随窗口缩放。只需要调整几个属性就能解决:

  1. 移除Image标签里的固定宽高属性
  2. 添加Stretch属性控制图片缩放方式
  3. 确保容器布局正确(你现有代码里的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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 17:39:31