如何使用 API 文档来确定每个 Xamarin.Forms 的有效 XAML 内容 控制。
例如,对于标签控件,我想我可以通过查看其可用的属性列表来了解可以在其上设置哪些属性 - http://iosapi.xamarin.com/?link=T%3aXamarin.Forms.Label%2fP
但是对于像RelativeLayout (http://iosapi.xamarin.com/?link=T%3aXamarin.Forms.RelativeLayout)这样只有Children属性的东西,我如何设置代码中显示的东西来控制其子约束等。
最佳答案
我现在会放弃这项努力。
而是通过右键单击代码中的类名并选择“转到声明”来查找 Xamarin.Forms 的源代码 - 您可以查看 Xamarin.Forms 和许多其他库的所有源代码。
代码不会说谎,文档 - 不太确定:)
如果您在 Label
上执行此操作,您会在类的顶部看到其可绑定(bind)属性,包括它们的类型。现在查看 FontProperty
- 在类型参数中存在对 Font
类的引用 - 单击它。该类具有 [TypeConverter(typeof(FontTypeConverter))]
属性。单击 FontTypeConverter
并查看其工作原理。
经过一些练习,您可能会发现了解代码实际执行的操作非常有用,无论文档说什么或没有说什么
如果您想了解 XAML,请首先查看众多 WPF 或 Silverlight 在线教程之一,以了解其工作原理 - 概念是相同的,技术已经存在了更长时间,资源也很丰富.
XAML 工作原理的粗略概述:
您在 .NET 中创建了类,并且可能用一些属性进行了标记。 XAML 允许您从 XML 反序列化复杂结构。
每个 XML 元素都映射到一个类类型。每个 XML 属性都映射到该类的一个属性。有些属性很容易适合属性(参见上面的字体示例,颜色是另一个);本身就是结构的属性可以在名为 的子 XML 元素中定义,例如:
<Label Text="this is a label">
<Label.Font>
<Font....>
</Label.Font>
</Label>
有几个与XAML相关的重要概念,例如:
BindlableObject这允许属性值相互绑定(bind),因此当一个属性值发生更改时,其他属性值也会发生更改
Markup Extensions允许您用 XAML 表达事物,例如引用资源或创建绑定(bind)
类型转换器可以在值类型之间进行转换,并允许使用颜色名称或将
<int
转换为string
属性
关于Xamarin.Forms - 如何从 API 文档中计算出有效的 XAML 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24827651/