c# - 如何自动调整图像大小以适应 silverlight 网格单元中调整大小的 Canvas

标签 c# silverlight image

例如,我有一个网格,其中一个单元格包含一张图像。因为我已将单元格背景设置为某种颜色,所以我可以看到当用户调整浏览器大小时网格正在调整大小,但如何使图像也调整大小?

我忘了说我的图像位于 Canvas 内,虽然 Canvas 会自动调整网格单元的大小,但我的图像不会自动调整 Canvas 的大小。

最佳答案

如果您的图像直接放入网格中,则其默认的 Stretch 行为(即 Stretch="Uniform")将确保随网格一起调整大小。尝试以下 XAML 进行验证:

  <Grid x:Name="LayoutRoot" ShowGridLines="True">
    <Grid.RowDefinitions>
      <RowDefinition Height="*"/>
      <RowDefinition Height="*"/>
    </Grid.RowDefinitions>

    <Image Source="MyImage.png"
           Grid.Row="0"/>
  </Grid>

但是,根据您更新的问题...您的图像位于 Canvas 内。 Canvas 面板旨在提供其子面板的绝对定位。您无法拉伸(stretch)或对齐 Canvas 内的元素。

底线 - 使用不同的面板作为容器!

关于c# - 如何自动调整图像大小以适应 silverlight 网格单元中调整大小的 Canvas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4818140/

相关文章:

c# - .NET 中的 UI 测试自动化

c# - 获取通用的自定义属性

c# - 在 Windows Phone 中转换颜色

android - 在可绘制图像上添加一个字符串?

c# - 从Azure Redis缓存插入或删除值时,是否需要在代码级别进行同步?

c# - 在 Silverlight 的扩展方法中使用反射的深度复制?

Silverlight 保持 ListBox 滚动位置

python - PIL可以使用pyqt4资源文件打开图像吗?

Android - 显示来自可绘制资源的图像

c# - 找不到类型或命名空间 "TextFieldParser"