在Fuse中的UX Markup语言中建立你自己Uno类,然后声明式地使用这些自定义类是相当容易的。
一个简单的例子
这里是一个简单的例子,把一个数字作为文字来展示:
<pre>
using Fuse;
using Fuse.Controls;
namespace MyCompany.MyLibrary
{
public class NumericLabel: Text
{
public int Number
{
get { return int.Parse(Value); }
set { Value = value.ToString(); }
}
}
}
</pre>
这个类现在能被用于当前项目中的任何UX文件中,像这样:
<pre>
<App xmlns:m="MyCompany.MyLibrary">
<m:NumericLabel Number="1337" />
</App>
</pre>
支撑、支持子元素
允许你的类主持其它元素,像是一个引用类别的属性,或一个Uno.Collections.IList<T>
属性。
英文原文为:https://www.fusetools.com/learn/guides/ux-markup-using-your-own-classes
要自动创建一个UX流程,把子元素放到放到属性中,使用[UXContent]
特性attribute,这个特性来自于属性上的Uno.UX
命名空间。
<pre>
using Uno.Collections;
public class Fruit
{
public double Weight { get; set; }
}
public class Apple: Fruit
{
public string Origin { get; set; }
}
public class Orange: Fruit
{
}
public class FruitCart
{
[UXContent]
public IList<Apple> Apples { get { return _apples; } }
[UXContent]
public IList<Orange> Oranges { get { return _oranges; } }
}
</pre>
在UX中,你可以接着填充如下数据到这个构建物中。
<pre>
<FruitCart>
<Apple Weight="3.2" Origin="France" />
<Apple Weight="2.2" Origin="Spain" />
<Orange Weight="2.4" />
</FruitCart>
</pre>
需要看更多关于子元素工作原理相关的信息,参看《UX markup语言之属性及梆定》
Tag:Fuse, Fuseapp, Fusetools, native app
发布时间:2016年05月15日
博客被黑,挪窝简书安家……