Styling and Resources

样式和资源

在Fuse中,样式是指在整个应用程序中以一致的方式设置属性,如字体,颜色,边距和外观。

从’Style’迁移

Style已经被弃用了!现在通过使用ux:Class来设置多个元素的属性的正确方法。
无论你有什么样的属性和子元素应用于某个类型的每个元素,你现在必须显式地子类化和使用它。

这意味着以下:

<StackPanel>
<Style>
<Rectangle Background =“#f00”Width =“100”Height =“100”>
<Clicked>
<比例因子=“1.2”持续时间=“0.2”/>
</ Clicked>
</ Rectangle>
</ Style>
<Rectangle />
<Rectangle />
</ StackPanel>

应重写为:

<StackPanel>
<Rectangle ux:Class =“FancyRectangle”Background =“#f00”Width =“100”Height =“100”>
<Clicked>
<比例因子=“1.2”持续时间=“0.2”/>
</ Clicked>
</ Rectangle>
<FancyRectangle />
<FancyRectangle />
</ StackPanel>

关于ux:Class的进一步参考可以在创建自定义UI组件下找到。

Theme

AppTheme属性决定你的应用程序是否设置有本地UI控件 OpenGL ES强大的图形作为根级别表示技术,以及控制的默认外观和感觉。

有关详细信息,请参阅主题

全球资源

全局资源是一次创建并在整个应用程序中使用的共享对象。对于在应用程序生命周期中从不更改的对象(例如字体,颜色和声音),建议使用全局资源。

使用“ux:Global”属性在UX标记中创建全局资源。ux:Global创建一个全局别名。这意味着你可以通过它的“ResourceAlias”来引用它。

资源别名是资源类型的本地资源。例如,如果你有一个名为Coralfloat4颜色资源和名为CoralSolidColor资源,Fuse将从上下文中理解它是哪个。

这是如何导入TTF文件并从中创建全局资源:

<Font File =“HelveticaNeue-MediumCondensed.ttf”ux:Global =“Helvetica”/>

上面这行可以放在项目的任何文件中,但是你通常把它们放在你的Style UX文件或专用于资源的特殊UX文件中。

一旦你创建了一个ux:Global别名,你就可以通过代码中任何地方的别名来引用你的字体:

<Text Font =“Helvetica”>您好,是的,这是文本。</ Text>

Resources和ux:Key

要声明动态资源,只需:

<string ux:Key =“WelcomeMessage”ux:Value =“Hello!”>

除了对象外,当前支持以下类型:

然后,资源将在其定义的树中的下面的任何节点可用。它可以用作:

<Text Value =“{Resource WelcomeMessage}”/>

本地化

字符串,值,图标和其他资源的本地化可以使用 resources 轻松实现。

<StateGroup Active =“{language}”>
    <State Name =“norwegian”>
        <ResourceString Key =“hello”Value =“hei”/>
    </ State>
    <State Name =“english”>
        <ResourceString Key =“hello”Value =“hello”/>
    </ State>
    <State Name =“spanish”>
        <ResourceString Key =“hello”Value =“hola”/>
    </ State>
</ StateGroup>

然后,不是直接在整个应用程序中指定问候字符串,而是可以使用资源绑定:

<Text Value =“{Resource hello}”/>