将图像放在图像中

时间:2016-03-01 13:13:46

标签: c# image xaml win-universal-app

我有一个包含3行3列的网格:

<Grid.ColumnDefinitions>
    <ColumnDefinition Width="300"></ColumnDefinition>
    <ColumnDefinition Width="*"></ColumnDefinition>
    <ColumnDefinition Width="300"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
    <RowDefinition Height="100"></RowDefinition>
    <RowDefinition Height="*"></RowDefinition>
    <RowDefinition Height="100"></RowDefinition>
</Grid.RowDefinitions>

我中间还有一张图片:

<Image Grid.Row="1" Grid.Column="1" Source="" />

image

有没有办法在这张照片中自动放置我从用户加载的图像?例如,将图像自动放置在绿色区域中,而无需通过输入用户的图像分辨率进行更改。

1 个答案:

答案 0 :(得分:1)

您发布的图片是605px * 439px。我测量了图片,得到了板子的边框长度。请看下图:

enter image description here

当我们拉伸和缩小图片时,图片的比例不会改变。我们可以使网格具有固定的比例。

  

使用比例大小调整(也称为星形大小调整),按加权比例在网格的行和列之间分配可用空间。在XAML中,星形值表示为*(或加权星形大小的n *)。例如,要指定一列比2列布局中的第二列宽5倍,请使用&#34; 5&#34;和&#34;&#34;对于ColumnDefinition元素中的Width属性。

有关详细信息,请参阅Layout properties

例如:

<Grid>
    <Grid.Background>
        <ImageBrush Stretch="Fill" ImageSource="Assets/blackground.jpg" />
    </Grid.Background>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="43*"></ColumnDefinition>
        <ColumnDefinition Width="518*"></ColumnDefinition>
        <ColumnDefinition Width="44*"></ColumnDefinition>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="46*"></RowDefinition>
        <RowDefinition Height="332*"></RowDefinition>
        <RowDefinition Height="61*"></RowDefinition>
    </Grid.RowDefinitions>
    <Image Name="MyImage" Stretch="Fill" Grid.Row="1" Grid.Column="1" />
</Grid>