2

如何使用 API 文档来确定每个 Xamarin.Forms 控件的有效 XAML。

例如,对于标签控件,我想我可以通过查看其可用属性列表来查看可以在其上设置哪些属性 - http://iosapi.xamarin.com/?link=T%3aXamarin.Forms.Label%2fP

但是对于只有 Children 属性的 RelativeLayout ( http://iosapi.xamarin.com/?link=T%3aXamarin.Forms.RelativeLayout ),我如何设置代码中显示的内容来控制它孩子的约束等等。

4

2 回答 2

2

我现在会放弃这种努力。

而是通过右键单击代码中的类名并选择“转到声明”来查找 Xamarin.Forms 的源代码 - 您可以查看 Xamarin.Forms 和许多其他库中的所有源代码。

代码不会说谎,文档 - 不太确定 :)

如果你这样做,Label你会在类的顶部看到它的可绑定属性,包括它们的类型。现在查看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允许属性值彼此绑定,因此当一个更改另一个更改时

  • 标记扩展允许您在 XAML 中表达事物,例如引用资源或创建绑定

  • int类型转换器可以在值类型之间进行转换,并允许使用颜色名称或对string属性进行竞价等操作

于 2014-07-18T15:16:13.520 回答
0

我不知道您是否使用 VS,但 xaml 没有智能感知,我使用 Xamarin Studio 仅执行 XAML,因为那里有自动完成功能。

于 2014-08-19T19:14:36.993 回答