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

WPF技术求助:如何实现图片自适应适配指定区域

需求与问题

我希望根据图片(蓝色块)的形状实现如下展示效果:
enter image description here

目前遇到以下几个问题:

  • 图片的拉伸应受限于可用区域(由窗口边框和文本框顶部决定,文本框会根据需要占用多行,字符大小固定,支持水平拉伸和换行),但当前图片仅拉伸宽度,忽略了窗口顶部的约束。
  • 当窗口宽度小于约500时,图片停止缩小,忽略了窗口右边缘的约束;文本也类似,此时停止换行。(已解决,StackParent的父容器设置了MinWidth="500")
  • 初始高度应满足:若图片为宽幅,则上下无额外边距;否则按屏幕高度的百分比设置。我不知道如何同时实现这两点。(该问题已迁移至其他提问)

窗口属性

WindowStartupLocation="Manual"
Top="100"
Left="100"
Width="700"
SizeToContent="Height"
ResizeMode="CanResize"
MaxWidth="{x:Static SystemParameters.PrimaryScreenWidth}"
MaxHeight="{x:Static SystemParameters.PrimaryScreenHeight}"

图片、文本及按钮的XAML代码

<StackPanel VerticalAlignment="Bottom" Margin="10">
    <Image Name="IW" VerticalAlignment="Center" Source="{Binding Image}" />
    <TextBlock Margin="0,10,0,10" HorizontalAlignment="Stretch" Background="{StaticResource Container2}">
        <TextBlock Margin="10" TextWrapping="Wrap" FontSize="{Binding FontSize}" Foreground="{StaticResource PrimaryText}"  Background="{StaticResource Container2}" Text="{Binding Text}"/>
    </TextBlock>
    <StackPanel Orientation="Horizontal" Width="auto" HorizontalAlignment="Right">
        <Button Visibility="{Binding YesVisibility}" x:Name="YES" Margin="0,0,20,0" Height="40" Width="150" FontSize="22" FontWeight="DemiBold" Content="YES" Foreground="{StaticResource CTAPrimary2}" Click="Button_Click"/>
        <Button Visibility="{Binding NoVisibility}" x:Name="NO" Margin="0,0,20,0" Height="40" Width="150" FontSize="22" FontWeight="DemiBold" Content="NO" Foreground="{StaticResource CTAPrimary2}" Click="Button_Click"/>
        <Button Visibility="{Binding ContinueVisibility}" x:Name="CONTINUE" Margin="0,0,20,0" Height="40" Width="150" FontSize="22" FontWeight="DemiBold" Content="CONTINUE" Foreground="{StaticResource CTAPrimary2}" Click="Button_Click"/>
        <Button Visibility="{Binding ExitVisibility}" x:Name="EXIT" Margin="0,0,0,0" Height="40" Width="150" FontSize="22" FontWeight="DemiBold" Content="EXIT" Foreground="{StaticResource PrimaryText}" Click="Button_Click"/>
    </StackPanel>
</StackPanel>

内容的提问来源于stack exchange,提问作者H.v.M.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 10:53:19