Uwp 设置帧图像的大小

Uwp 设置帧图像的大小,uwp,Uwp,问题1: 我有一个数据模板,如下所示。在我的布局中,我需要将图像tipFrame放在TextBlocktipText下面tipText的文本将根据拉取的服务器文本而改变,因此tipFrame的宽度应相应改变以覆盖tipText 但问题是tipText的父控件,RelativePanel的宽度很大,例如1800。由于tipText的Margin设置Margin=“35,7100,0”,因此tipText的宽度为1800-35=1765,与内容大小不匹配。例如,内容可能只有“hi”。这会导致无法正确

问题1:

我有一个
数据模板
,如下所示。在我的布局中,我需要将图像
tipFrame
放在
TextBlock
tipText
下面
tipText的
文本将根据拉取的服务器文本而改变,因此
tipFrame的
宽度应相应改变以覆盖tipText

但问题是
tipText的
父控件,
RelativePanel的
宽度很大,例如1800。由于
tipText的
Margin设置
Margin=“35,7100,0”
,因此tipText的宽度为
1800-35=1765
,与内容大小不匹配。例如,内容可能只有
“hi”
。这会导致无法正确设置帧的大小。 如何解决?谢谢

  <DataTemplate x:Key="singleRow">
            <StackPanel Orientation="Vertical" Height="388">
                <RelativePanel>
                    <TextBlock x:Name="titleText" Text="{Binding Path=titleText}" Foreground="White" FontSize="40" TextLineBounds="TrimToCapHeight" Margin="0,6,0,0" />
                    <TextBlock x:Name="tipText" Text="try something" FontSize="20" Foreground="#B9B9B9" RelativePanel.RightOf="titleText"
                               Margin="35,7,0,0" TextWrapping="WrapWholeWords"/>
                    <Image x:Name="tipFrame" Source="ms-appx:///Assets/Template/list1/tipFrame.png" RelativePanel.RightOf="titleText" 
                           Height="36" Width="{Binding ElementName=tipTextShadow,Path=Width}" Stretch="Fill"
                           Margin="35,5,0,0"/>

tipFrame图像附在下面。

问题2:

我将上图的拉伸模式设置为
Stretch=“Fill”
如果图像的宽度设置得太大,则图像的四个角的半径会发生太大的变化。如何解决? 谢谢

更多信息:

我添加了一张新图片来说明我的问题,希望能有所帮助


以下是我的一些建议:

  • 如果您的内容宽度和高度是可变的,那么我不建议使用
    RelativePanel
    进行布局,但建议使用
    Grid
  • 您给出的图像是一个圆角矩形。过度拉伸将不可避免地扭曲图像。尝试
    Stretch=“Uniform”
    Stretch=“UniformToFill”
  • 这是我给出的布局建议:

    
    
    提示

    网格行/列定义中的
    *
    指示剩余区域,这将阻止您手动设置宽度/高度


    向你问好。

    你好,汤姆。让我谈谈我的猜测。是否希望文本在左侧,图像在右侧,并且两个文本块上下对齐?