0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

FusetoolsAdvent Calendar 2016

Day 20

【Fuse】staticなUXマークアップ

Posted at

staticって便利ですよね。一度その便利さを知ってしまったら手放せない、static。名前の響きもいい、static。ユーティリティ的なクラスを作って、staticな関数をいれたりとか、誰もが通る道なのではないかと思います。乱用は良くないけど!

さて、Fuseでもstaticな変数を設定することができます。それがux:Globalです。

###ux:Global

ux:Globalはひとつの属性で、この属性がつけられた要素は、staticでglobalなリソースになります。早速使い方を見てみましょう。

sample.ux
<type ux:Global="resource_key" [ux:Value="value"] ... />

typeはUXマークアップで使用可能な任意の要素で、resource_keyの部分に参照する際に使用するkeyを指定します。

typeにfloat4やintのような値をもつ型を指定した場合は、ux:Valueを同じ要素につけることが必須となります。

###サンプル

サンプルというか、なんというか、Fuseが元々定義しているリソースもあります。例えばredblueなどがそうです。下記のように指定すれば、カラーコードを取得することができますね。

sample.ux
<Panel Color="Blue" />

自分でグローバルを定義するときは、下記のように指定します。

sample.ux
<float4 ux:Global="MyProject.WarmBlue" ux:Value="#18f" />

これを参照するときは、

sample.ux
<Rectangle>
    <Stroke Width="3" Color="MyProject.WarmBlue" />
</Rectangle>

このようにすれば、上で定義した、ux:Valueの値、つまり#18fを指定することができるというわけですね。

ここで注意したいのが、名前の付け方です。名前の重複などを避けるため、プロジェクトの名前などを使って、適切にグルーピングするようにしてください。また、ux:Globalで指定した値はコンパイル時に解決され、動的に変更することはできませんので注意してください。

中身うっすいですが以上!!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?