【问题标题】:Where can you find the default property values for xaml layouts in Xamarin.Forms?在哪里可以找到 Xamarin.Forms 中 xaml 布局的默认属性值?
【发布时间】:2022-01-20 17:05:54
【问题描述】:

我已经读过,为了提高性能,如果布局中的属性值与布局的默认值相同,则不应设置该属性的值。举个简单的例子,如果我有一个 StackLayout 并且我希望它垂直放置,我可能会写

<StackLayout
    Orientation="Vertical"
    >
</StackLayout>

但我从经验中知道Vertical 是 StackLayout 的默认方向,因此设置此值是多余的,会降低性能。

我不知道许多其他属性的默认值,例如PaddingMarginHorizontalOptionsVerticalOptions 和其他所有属性,以及其他布局,例如Grid

是否有更简单的方法来查找这些值,以避免在设置和不设置值的情况下尝试每个布局?

【问题讨论】:

  • 你在哪里读到的?根据我的经验,它可能产生任何明显影响的唯一地方是style 声明。即使在那里,它也很少成为问题。如果您有性能问题,这不是解决问题所需要的。性能问题由“测量和布局”时间支配。通常的解决方法是找到一种减少布局类嵌套的方法(可以包含其他元素作为子元素的类,例如网格或堆栈布局)。无论如何,大多数选项默认为最常用的值。填充边距为零...
  • ...您必须找到每个属性的文档页面。例如。 StackLayout.Spacing 说它默认为6。如果您发现一个文档页面没有说明默认值是什么,并且最有可能的情况也不明显,那么请在该页面上使用评论反馈来提及这个缺失的信息。
  • "默认情况下,StackLayout 的方向是垂直"。 docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/…

标签: xaml xamarin xamarin.forms layout properties


【解决方案1】:

您会在 Xamarin 文档或它的 API 文档中找到它,例如:

如果文档中没有提到,可以看源码;

  • HorizontalOptions, VerticalOptions, MarginView 的属性,您可以在View.cs 中找到它们的声明。

  • 对于StackLayout.Spacing,您可以在StackLayout.cs 等中找到它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-17
    • 2011-11-06
    • 2017-02-16
    • 2021-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多