我现在会放弃这种努力。
而是通过右键单击代码中的类名并选择“转到声明”来查找 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
属性进行竞价等操作