提題通り、テンプレート最初にあるXAMLにStyleを当ててみます。
まずはStyleじゃなくて、直に追加。
Foreground="Red"
ん、うごきますね。
次に、Style化します。
<Style TargetType="{x:Type TextBlock}"> <Style.Setters> <Setter Property="Foreground" Value="Blue"/> </Style.Setters> </Style>
お、ビルドこけましたね。
エラー:x:Typeが見つかりませんでした。
そういえばWPFにはx:Typeあるけど、UWPにはなかったなっと。
じゃあ[x:Type] 辞めましょう
<Style TargetType="TextBlock"> <Style.Setters> <Setter Property="Foreground" Value="Blue"/> </Style.Setters> </Style>
うんうん、動きましたね。
ちょっと待って、それiOS / Androidでも動くの???
iOSにするとThemeResourceがないって言われますね。
ここでUno Platformのアーキテクチャを思い出してみます。
UWPプロジェクトをビルドする場合って、Uno Platformを通ってないんですよ!
なるほどなるほど、こういうところで差が出てきちゃうな。
じゃあ両方にビルド通すStyleにするには、、、、
Styleにx:Keyをつけてみる
ついでに画面真ん中に持っていこう。
<Style.Setters> <Setter Property="Foreground" Value="Blue"/> <Setter Property="HorizontalAlignment" Value="Center"/> <Setter Property="VerticalAlignment" Value="Center"/> </Style.Setters> </Style>
いけたいけたー、こういうクセを抑えていけば大丈夫そう。
実行したら落ちたとかじゃないから、安心といえば安心だけど、ビルドが通らなかったときのエラーメッセージはそんなに親切なものじゃないかな。
いっぱいだーーーっと書いて、あ、通らないってなると該当箇所を探すのが大変そう。まぁでも慣れれば行けるかも?かも??