スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
当サイトは基本をすっ飛ばしてます。基本文法等は、@ITをどうぞ
カテゴリー: スポンサー広告

依存関係プロパティの包含継承

依存関係プロパティの機能の1つに包含継承がある、と書かかれても、なんのこっちゃ?と思った。
親要素で設定した値を子が引き継ぐ。わかりやすい例がフォントサイズだ。どこのサイトの例でも出てくるくらいだし。

<Window x:Class="TawamureDays.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
FontSize="20"
Title="MainWindow" Height="350" Width="525">
<StackPanel>
<Label>C#と戯れる日々</Label>
<Label>Edit by チャプターマン</Label>
<Label>Since: 2012/05/14(火)</Label>
<ListBox>
<ListBoxItem>C#</ListBoxItem>
<ListBoxItem>WPF</ListBoxItem>
<ListBoxItem>その他</ListBoxItem>
</ListBox>
<Button Content="閉じる"/>
</StackPanel>
</Window>

画面は、↓のようになる。
screen_0520_1
たしかに、Windowに設定したフォントサイズを、子要素が引き継いでる。
引きついていなければ、フォントサイズは前のままのはずだし。
じゃあ、Window配下の要素は、全部そうなるんだ!とか思ったら違ってた。

<Window x:Class="TawamureDays.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
FontSize="20"
Title="MainWindow" Height="350" Width="525">
<StackPanel>
<Label>C#と戯れる日々</Label>
<Label>Edit by チャプターマン</Label>
<Label>Since: 2012/05/14(火)</Label>
<ListBox>
<ListBoxItem>C#</ListBoxItem>
<ListBoxItem>WPF</ListBoxItem>
<ListBoxItem>その他</ListBoxItem>
</ListBox>
<Button Content="閉じる"/>
<StatusBar>
<StackPanel Orientation="Horizontal">
<TextBlock VerticalAlignment="Center">this place is status bar.</TextBlock>
<Button Margin="13,1,1,0">ボタンだよ</Button>
</StackPanel>
</StatusBar>
</StackPanel>
</Window>

20120520_2
ステータスバーの中は、設定されたFontSizeの影響を受けていない。
あれー?って感じ。詳細はわからないけど、StatusBarやMenuBarなんかは、システム(OS)の設定みたいのが優先されているらしい。
無条件に継承されるわけではないってことか。
ちなみに、これ(子要素に継承させる)は、自作のカスタムコントロールにも実装できるらしい。
スポンサーサイト
当サイトは基本をすっ飛ばしてます。基本文法等は、@ITをどうぞ
カテゴリー: WPF4 | コメント: 0 | トラックバック: 0


この記事へのコメント

コメントの投稿

非公開コメント


サイドバー背後固定表示サンプル

当ブログに書かれたソースコードは流用自由です。

バグ、スペルミス等はありうる事です。

ご利用の際は自己責任でお願いしますm(_ _)m

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。