WPF/ControlTemplate
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
&tag(WPF, ControlTemplate);
*目次 [#s8cf5256]
#contents
*参考情報 [#ebd73bb8]
-[[WPF]]
-[[“見た目”を決めるコントロール・テンプレート − @IT:http...
*役割 [#o5ed33b1]
-Controlの中身を描画する。例えばTemplateにnullを指定する...
<Button Content="Button" Template="{x:Null}"/>
-Templateに明示しないときもデフォルトのTemplateが設定され...
*簡単な例 [#f17573a2]
-Button1, Button2から、TestTemplateを参照する例。背景水色...
#pre{{
<StackPanel>
<StackPanel.Resources>
<ControlTemplate x:Key="TestTemplate" TargetType="Bu...
<Border Background="Cyan">
<TextBlock Text="テスト"/>
</Border>
</ControlTemplate>
</StackPanel.Resources>
<Button Content="Button1"
Template="{StaticResource TestTemplate}" />
<Button Content="Button2"
Template="{StaticResource TestTemplate}" />
</StackPanel>
}}
*TemplateBindingを使って汎用的に [#i8551da0]
-簡単な例の場合、Templateで設定した背景や文字列が描画され...
-ContentやBackgroundといった属性をButtonから持ってくるた...
-{TemplateBinding Background}とすればTemplateが適用される...
#pre{{
<StackPanel>
<StackPanel.Resources>
<ControlTemplate x:Key="TestTemplate" Ta...
<Border Background="{TemplateBinding ...
<TextBlock Text="{TemplateBinding...
</Border>
</ControlTemplate>
</StackPanel.Resources>
<Button Content="Button1" Background="Cyan"
Template="{StaticResource TestTemplate}" />
</StackPanel>
}}
-RelativeSourceを使っても同じようなことができる。
*CcontentPresenterを使ってさらに汎用的に。 [#h3b126d0]
-ButtonのContentはTextBlock以外にもImageやPanelなどが設定...
-TextBlockのTextにBindingしたのではそのような要素は表示で...
-そこでTemplate内ではContentPresenterを使う。
#pre{{
<StackPanel>
<StackPanel.Resources>
<ControlTemplate x:Key="TestTemplate" Ta...
<Border Background="{TemplateBinding ...
<ContentPresenter Content="{Templ...
</Border>
</ControlTemplate>
</StackPanel.Resources>
<Button Content="Button1" Background="Cyan"
Template="{StaticResource TestTemplate}" />
</StackPanel>
}}
-ControlTemplate内にContentPresenterが現れた場合暗黙的にC...
終了行:
&tag(WPF, ControlTemplate);
*目次 [#s8cf5256]
#contents
*参考情報 [#ebd73bb8]
-[[WPF]]
-[[“見た目”を決めるコントロール・テンプレート − @IT:http...
*役割 [#o5ed33b1]
-Controlの中身を描画する。例えばTemplateにnullを指定する...
<Button Content="Button" Template="{x:Null}"/>
-Templateに明示しないときもデフォルトのTemplateが設定され...
*簡単な例 [#f17573a2]
-Button1, Button2から、TestTemplateを参照する例。背景水色...
#pre{{
<StackPanel>
<StackPanel.Resources>
<ControlTemplate x:Key="TestTemplate" TargetType="Bu...
<Border Background="Cyan">
<TextBlock Text="テスト"/>
</Border>
</ControlTemplate>
</StackPanel.Resources>
<Button Content="Button1"
Template="{StaticResource TestTemplate}" />
<Button Content="Button2"
Template="{StaticResource TestTemplate}" />
</StackPanel>
}}
*TemplateBindingを使って汎用的に [#i8551da0]
-簡単な例の場合、Templateで設定した背景や文字列が描画され...
-ContentやBackgroundといった属性をButtonから持ってくるた...
-{TemplateBinding Background}とすればTemplateが適用される...
#pre{{
<StackPanel>
<StackPanel.Resources>
<ControlTemplate x:Key="TestTemplate" Ta...
<Border Background="{TemplateBinding ...
<TextBlock Text="{TemplateBinding...
</Border>
</ControlTemplate>
</StackPanel.Resources>
<Button Content="Button1" Background="Cyan"
Template="{StaticResource TestTemplate}" />
</StackPanel>
}}
-RelativeSourceを使っても同じようなことができる。
*CcontentPresenterを使ってさらに汎用的に。 [#h3b126d0]
-ButtonのContentはTextBlock以外にもImageやPanelなどが設定...
-TextBlockのTextにBindingしたのではそのような要素は表示で...
-そこでTemplate内ではContentPresenterを使う。
#pre{{
<StackPanel>
<StackPanel.Resources>
<ControlTemplate x:Key="TestTemplate" Ta...
<Border Background="{TemplateBinding ...
<ContentPresenter Content="{Templ...
</Border>
</ControlTemplate>
</StackPanel.Resources>
<Button Content="Button1" Background="Cyan"
Template="{StaticResource TestTemplate}" />
</StackPanel>
}}
-ControlTemplate内にContentPresenterが現れた場合暗黙的にC...
ページ名: