2013年06月13日

WPFサンプル:Styleを使いListBoxの項目間に経線を引く

   このエントリーをはてなブックマークに追加 Clip to Evernote
Styleを使ったサンプル(といってもたいしたものではないですが)をもう一つ。
今度は、Styleを使いListBoxの項目間に経線を引いてみました。

Style4

左側はStyleを適用していないもの、右側がStyleを適用したListBoxです。
Styleを適用するのは、ListBoxそのものではなく、その要素の型である ListBoxItem です。
ListBoxItemのBorderThicknessを変更することで、下線を引いています。


  

Posted by gushwell at 23:00Comments(0)TrackBack(0)

2013年06月10日

WPFサンプル:定義済みのStyleを継承し新たなStyleを定義する

   このエントリーをはてなブックマークに追加 Clip to Evernote
WPFでは定義済みのStyleを継承し、新たなStyleを定義することもできます。
まずは、継承元のStyleを示します。


このStyleを適用したサンプルです。


実行するとこんな感じです。

Style3

では、このmyBaseTextBlockStyleを継承してみます。

myBaseTextBlockStyleから2つのStyleを継承してみました。

BasedOn="{StaticResource myBaseTextBlockStyle}" の箇所が継承を指定している部分です。
一つ目は、 x:Key を指定していますので、このStyleを適用する際は、x:Keyの名前を指定することになります。
一方2つ目は、x:Key を指定していないので、TargetType で指定した TextBlock型のデフォルトのStyle値となります。

以下、実行結果とXAMLの全体を示します。

Style2

  
Posted by gushwell at 22:00Comments(0)TrackBack(0)

2013年06月07日

WPFサンプル:Styleを使いコントロールの既定のプロパティ値を変更する

   このエントリーをはてなブックマークに追加 Clip to Evernote
WPFには、スタイルというプロパティの値の集合を複数の要素に適用する機能があります。 コントロールのプロパティ地の規定値を変更し、外観を変えるのに便利です。 今回は、そのスタイルにお簡単なサンプルです。
まずは、スクリーンショットを示します。

style1

XAMLの全体は、最後に示しますが、このXAMLはなにやら、長めのXAMLですが、ひとつひとつ分解すれば、そほど複雑なことはやっていません。
スタイルはリソースとして定義するのが一般的です。Window.Resources に3つの Style を定義しています。
一つめは、TextBoxの規定値を変更するStyleです。


TargetTypeプロパティで、どの型にスタイルを適用するのかを指定します。
このように定義することで、このWindowに配置する すべてのTextBoxに、このStyleで指定した プロパティの値が適用されます。
Styleタグの中では、Setterタグを利用し、TargetTypeプロパティで指定した型が持つプロパティの値を設定します。
Propertyでは設定したいプロパティの名前、Valueでは、その値を指定します。 Styleはその型のプロパティの初期値を定義していることになりますので、 TextBlockやButtonのタグでプロパティの値を設定してやれば、そちらが優先されます。

2つめは、ButtonのStyleで、TextBoxと同様にButtonのプロパティ値を変更しています。

最後は、TextBlockのStyleを定義していますが、一部の TextBlockに 当該Styleを適用する例です。
x:Key属性を記述していますが、こうすることで、一部のコントロールだけにスタイルを適用させることができます。
その際は、Style="{StaticResource textBlcokStyle}"のように、どのスタイルを適用するのかを コントロール側で指定してあげます。


TextBlock側では、以下に示すようにStyleプロパティで、Window.Resourcesに定義したStyleを指定することで、 Styleを適用させています。


なお、C#のコード側でStyleを適用するには、以下のように記述します。


当サンプルのC#のコードと全体のXAMLを掲載します。



  
Posted by gushwell at 21:00Comments(0)TrackBack(0)