<!-- zeKey skinfile https://ze-key.blogspot.jp/ --> <z:Keyboard xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:z="clr-namespace:zeKey.Skin;assembly=zeKey" Width="300" Height="72" z:DragMoveBehavior.CanMove="True" Background="{DynamicResource 背景}" Foreground="{DynamicResource 文字}"> <z:Keyboard.Resources> <SolidColorBrush x:Key="文字" Color="Black" /> <SolidColorBrush x:Key="背景" Color="White" /> </z:Keyboard.Resources> <Grid> <Viewbox> <TextBlock> Hello, world! </TextBlock> </Viewbox> <z:ResizeGrip /> </Grid> </z:Keyboard> <!-- <z:Keyboard.Resources>というタグが出てきました 使いまわしたいブラシやスタイルの置き場です 詳しい説明は省きますがzeKeyの機能により SolidColorBrush(単色ブラシ)は色の変更ができるようになります x:KeyにzeKeyの色タブで表示される文字 Colorに初期設定色を指定して "{DynamicResource 背景}"のように参照します 色をリアルタイムで変更可能になりましたが つまみの色まで変わってしまいました 親の属性の値が子要素に引き継がれるものがあります FontSizeもそうでした z:KeyboardのBackground Foreground指定が TextBlock z:ResizeGripに引き継がれて色が変わります 20行目を <z:ResizeGrip Foreground="Black"/> に変えてください 新たに指定した場合は 引き継いだ規定値より優先されます こうするとテキストだけが変わるようになります -->SolidColorBrushを色のように扱っていますが 正確にはBrushは色ではなく塗りです
なのでグラデーションブラシや画像ブラシ等もあります
Background等の属性はほとんどの場合 Brushを要求するので簡単に指定できるようにSolidColorBrushで指定することにしています
グラデーションは別の機会に解説します
0 件のコメント :
コメントを投稿