2018년 1월 31일 수요일

[닷넷학원/WPF교육] 컨텐트 프로퍼티란?

(WPF기초강좌)컨텐트 프로퍼티란?_WPF실무학원/C#학원 

Content Property?

n  XAML의 엘리먼트는 서로 다른 콘텐츠 형식을 표시 할 수 있는데 엘리먼트의 기능에 따라 콘텐츠를 표시하는 데 사용되는 Content라는 특수한 속성(Property)을 제공한다.
n  Content 속성은 자식 요소를 담고있는 컨테이너 또는 부모 요소 일 수도 있다아래 코드는 Button의 내용으로 5 개의 자식 요소가있는 StackPanel 컨테이너를 설정한다.
<Button Margin="10,201,100,40"> 
<StackPanel Orientation="Horizontal"> 
<Ellipse Height="60" Width="60" Fill="Red"/> 
<TextBlock TextAlignment="Center"><Run Text=" Red Circle"/> 
<TextBlock TextAlignment="Center"><Run Text=" "/></TextBlock> 
<Rectangle Height="60" Width="120" Fill="Green"></Rectangle> 
<TextBlock TextAlignment="Center"><Run Text=" Green Rectangle"/> 
</StackPanel> 
</Button>

 n  모든 요소가 컨텐츠(Contents)로 사용될 수 있지만 모두 Content 속성을 가지고 있는 것은 아니다. ContentControl을 상속받은 요소(Window, Button, Label)만 Content 속성이 사용 가능하다.
n  Button Content 속성은 Object 타입으로 문자열객체, UIElement 또는 컨테이너로 설정할 수 있다.
n  일부 XAML 객체는 사용할 수있는 Content 속성이 없을 수 있으므로 속성을 통해 설정해야 한다.

<Button Height="50" Margin="10,10,300,300" Content="Hello XAML" />
<Button Height="50" Margin="10,10,350,310">Hello XAML</Button>

// 아래 TextBox의 Text 속성에 값을 입력하지 않고 태그 사이에 넣어도
// Text 속성으로 인식하는 것은 ContentProperry로 정의 되었기 때문이다.
// ContentProperty는 XAML 프로세서가 자식 엘리먼트를 프로세싱할때
// 사용하는 기본 속성정보이다.
<TextBox Name="TextBox1" Height="30" Width="200" Text="Hello~"/>
<TextBox Name="TextBox1" Height="30" Width="200" >
     Hello~
</TextBox>

댓글 없음:

댓글 쓰기