【问题标题】:Frame doesn't obey HeightRequest框架不服从 HeightRequest
【发布时间】:2018-07-22 16:53:22
【问题描述】:

你们能解释一下为什么 Frame 不尊重 HeightRequest 或 WidthRequest 吗?

在其他控件中使用这些属性可以按预期工作。

例如,在这个 XAML 中,我使用了 FrameBoxView

<StackLayout Orientation="Horizontal"
             HorizontalOptions="CenterAndExpand"
             Padding="10">
    <Frame VerticalOptions="Center"
           HeightRequest="5"
           WidthRequest="5"
           BackgroundColor="Red"/>
    <BoxView VerticalOptions="Center"
             HeightRequest="5"
             WidthRequest="5"
             Color="Blue"/>
</StackLayout>

结果是:

Frame的大小和box的大小有很大的不同,但应该没有。

【问题讨论】:

  • 如果将 Frame 的 Padding 设置为“0”会怎样?因为框架有一个默认的“20”填充。

标签: xaml xamarin xamarin.forms


【解决方案1】:

框架的默认填充为 20。设置Padding="0"

在此查看备注:https://developer.xamarin.com/api/type/Xamarin.Forms.Frame/

【讨论】:

  • 我也遇到了这个问题,谢谢。默认填充 20... 奇怪
  • @Gerry 是的,我也不确定他们为什么决定这样做。但我只能猜测他们留下它并且没有更改它的原因,因为如果他们要更新 Xamarin.Forms,它会影响许多只使用该默认值的应用程序。
  • 每次我使用框架我都会忘记这个愚蠢的默认设置。
  • 我设置了一个默认样式(我对网格行/列间距做了类似的设置)&lt;Style TargetType="Frame" ApplyToDerivedTypes="True"&gt;&lt;Setter Property="Padding" Value="0" /&gt;&lt;/Style&gt;
  • @Jammer 你不应该记住它。 Xamarin 中的此类内容让我非常抓狂。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-25
相关资源
最近更新 更多