퇴근5분전

스타일
 윈도우에 포함되는 여러 컨트롤에 일괄 적용하거나 여러 프로젝트에서 스타일을 사용하기 위해서
리소스영역에 해당 내용을 기술하고 컨트롤함.

<UserControl x:Class="WpfApplication1.UserControl1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Height="300" Width="300">
    <UserControl.Resources>       
        <Style x:Key="fontStyle">
            <Setter Property="Control.FontSize" Value="15"></Setter>
        </Style>
    </UserControl.Resources>
    <Grid>
        <!--주석은 이렇게.. -->
        <Button Margin="31,28,47,50" Name="button1" Click="button1_Click" Background="{StaticResource YellowBrush}">Button</Button>
        <Button Style="{StaticResource fontStyle}" Height="44" Margin="68,59,90,0" Name="button2" VerticalAlignment="Top" Click="button2_Click">Button</Button>
    </Grid>
</UserControl>

명시적 스타일 선언
<Style TargetType="{x:Type Button}">
     <Setter Property="Button.FontSize" Value="15"></Setter>
</Style>


버튼에 강제로 스타일을 적용한다.

스타일 상속
        <Style x:Key="fontColor">
            <Setter Property="Control.Background" Value="Yellow"></Setter>
        </Style>
        <Style x:Key="fontStyle" BaseOn="{StaticResource fontColor}">
            <Setter Property="Control.FontSize" Value="15"></Setter>
        </Style>


컨트롤 템플릿
 컨트롤의 외형이나 기타속성들을 템플릿으로 구성하여 적용하는 방법으로 사용함.

- 선언
<Window.Resources>
      <ControlTemplate x:Key="BtnTemplate" >
            <Rectangle Fill="Yellow" />
      </ControlTemplate>
</Window.Resources>

- 적용
<Button Template="{StaticResource BtnTemplate}" />

명시적으로 컨트롤 템플릿 선언하기

<Style TargetType="{x:Type Button}">
     <Setter Property="Template">
         <Setter.Value>
           
  <ControlTemplate>
                      <Rectangle Fill="Yellow" />
                 </ControlTemplate>
        </Setter.Value>
     </Setter>
</Style>



- 출처 : .Net 3.5 차세대 개발 프로그래밍 -  책에서 일부 정리 함. ( 저작권 문제시 삭제 할 것임. )
          자세한 내용은 책을 통해 확인하시길...










'# 3) .Net ( Vs 2008 ) > WPF' 카테고리의 다른 글

이벤트 종류 & 명령 & 트리거  (0) 2009.12.28
컨트롤  (0) 2009.12.28
리소스  (0) 2009.12.26
레이아웃 컨트롤  (0) 2009.12.26
유저컨트롤사용!  (0) 2009.12.26