wpfのスタイルとリソース
7799 ワード
wpfのスタイルとリソース
1、スタイル:
スタイルはstyleプロパティによって設定され、styleプロパティはsetter要素によって変更され、setter要素はpropertyとvalueプロパティを含み、指定したプロパティに指定した値を設定します.次に、buttonコントロールスタイルを簡単に設定する例を示します.
書き方一:TargetTypeをButtonと指定する.
<Button >
<Button.Style>
<Style TargetType="Button">
<Setter Property="Background" Value="red"/>
<Setter Property="Width" Value="100"/>
<Setter Property="Height" Value="40"/>
Style>
Button.Style>
Button>
書き方2、styleではTargetTypeを指定せず、Propertyの属性の前に制限修飾を加える.
<Button >
<Button.Style>
<Style>
<Setter Property="Button.Background" Value="red"/>
<Setter Property="Button.Width" Value="100"/>
<Setter Property="Button.Height" Value="40"/>
Style>
Button.Style>
Button>
2、資源
上記のコントロールのスタイルは、同じフォームの他のコントロールでは使用できません.同じウィンドウの他のコントロールでもこのスタイルを使用できるようにするには、このスタイルをリソースとして定義する必要があります.このように、コントロールのstyle属性でリソースを参照することでスタイルを変更するには、次のようにします.Window.Resourcesでリソース定義リソースを定義するときにkeyが必要です.このkeyはリソースの参照値です.同様に、TargetTypeは事前に書く必要はありません.Propertyプロパティの前に修飾すればいいです.上記の例のように、
<Style x:Key="buttonStyle" TargetType="{x:Type Button}">
<Setter Property="Background">
<Setter.Value>
"0,0" EndPoint="0,1">
Offset="0.0" Color="AliceBlue"/>
Offset="0.5" Color="Black"/>
Offset="0.9" Color="Red"/>
Setter.Value>
Setter>
<Setter Property="Width" Value="100">Setter>
<Setter Property="Height" Value="50">Setter>
Style>
リソースを定義したら、次のように使用できます.
<Button Style="{StaticResource buttonStyle}">Button>
StaticResourceは静的検索リソースです.つまり、コンパイル時に、後で詳しく説明します.上記で定義リソースは、現在のウィンドウのすべてのButtonコントロールで参照できるが、プログラム内の他のウィンドウのButtonは使用できず、統一と利便性のためにAppにリソースを追加する.xamlファイルでは、プログラム全体を実現できるので、Buttonはリソース定義のスタイルを変更することができます.次のようになります.
<Style x:Key="buttonStyle" TargetType="{x:Type Button}">
<Setter Property="Button.Background">
<Setter.Value>
"0,0" EndPoint="0,1">
Offset="0.0" Color="AliceBlue"/>
Offset="0.5" Color="Black"/>
Offset="0.9" Color="Red"/>
Setter.Value>
Setter>
<Setter Property="Button.Width" Value="100">Setter>
<Setter Property="Button.Height" Value="50">Setter>
Style>
次の編では、コード内のリソースのアクセスとプログラムセット間の参照について説明します.