2020년 8월 26일 수요일

WPF 스타일(Style), 타겟타입(TargetType)

 WPF 스타일(Style), 타겟타입(TargetType)

Style 클래스는 6개의 프로퍼티를 정의하는데 그 중 Setter, Resources는 이미 다루어 보았다. 스타일을 적용할 타겟 엘리먼트의 타입을 기술하는 TargetType이라는 프로퍼티도 있는데 중괄호 안에 x:Type이라는 마크업 확장과 적용을 원하는 클래스의 이름을 명시한다. Target을 설정하면 x:Key 값을 명시할 필요가 없고 키는 TargetType을 통해 생성된다. x:key를 사용하지 않는다면 모든 하위 요소에 스타일이 적용되며 x:Key를 이용하면 키값을 이용하여 스타일을 적용하고픈 요소에서 정의해서 참조하면 된다.

<Style TargetType=”{x:Type TextBlock}” …>

</Style>

TargetType을 사용하면 Setter 엘리먼트 내에서 프로퍼티 이름을 완전히 나열할 필요가 없다.

<Setter Property=”Button.FontSize” Value=”12”/>

à

<Setter Property=”FontSize” Value=”12”/>

TargetType 예제

<Window x:Class="WpfApp6.MainWindow"

xmlns:local="clr-namespace:WpfApp6"

mc:Ignorable="d"

Title="MainWindow" Height="350" Width="525">

<StackPanel>

<StackPanel.Resources>

<Style TargetType="{x:Type Button}">

<Setter Property="FontSize" Value="24" />

<Setter Property="Foreground" Value="Blue" />

</Style>

<Style TargetType="{x:Type TextBlock}">

<Setter Property="Foreground" Value="Red" />

</Style>

</StackPanel.Resources>

<Button>

Button 1

</Button>

<TextBlock>

TextBlock 1

</TextBlock>

<Button>

<TextBlock>

Button with TextBlock Content

</TextBlock>

</Button>

</StackPanel>

</Window>

엘리먼트에는 오직 하나의 Style만 적용되는데 이 Style은 비주얼 트리에서 키로 검색된 최초의 Style 이거나 엘리먼트의 클래스가 TargetType과 일치하는 Style 이다.

#WPF스타일, #TARGETTYPE, #데이터바인딩, #WPF데이터바인딩, #DataBinding, #WPF, #WPF강좌, #WPF교육, #WPF강의, #시샵, #닷넷, #Csharp, #XAML, 

댓글 없음:

댓글 쓰기

(C#교육동영상)C# ADO.NET 실습 ODP.NET/ODAC 설치 오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원

  (C#교육동영상)C# ADO.NET 실습  ODP.NET/ODAC 설치  오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원 https://www.youtube.com/watch?v=qIPU85yAlzc&list=PLxU-i...