728x90
반응형
728x170
■ DataTemplate 엘리먼트를 사용해 Label 엘리먼트의 ContentTemplate 속성을 설정하는 방법을 보여준다.
▶ MainWindow.xaml
<Window x:Class="TestProject.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="800"
Height="600"
Title="DataTemplate 엘리먼트 : Label 엘리먼트의 ContentTemplate 속성 설정하기"
FontFamily="나눔고딕코딩"
FontSize="16">
<Grid>
<Label Name="label"
HorizontalAlignment="Center"
VerticalAlignment="Center">
<Label.Template>
<ControlTemplate TargetType="{x:Type Label}">
<Border
BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="{TemplateBinding BorderBrush}"
Background="{TemplateBinding Background}"
Padding="{TemplateBinding Padding}"
SnapsToDevicePixels="true">
<ContentPresenter
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
RecognizesAccessKey="True" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsEnabled" Value="false">
<Setter
Property="Foreground"
Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Label.Template>
<Label.ContentTemplate>
<DataTemplate>
<Border
BorderThickness="2"
BorderBrush="DarkBlue">
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<Label Content="{Binding Path=FirstName}" />
<Label
FontWeight="Bold"
Content="{Binding Path=LastName}" />
</StackPanel>
<Label
FontStyle="Italic"
Content="{Binding Path=BirthYear}" />
</StackPanel>
</Border>
</DataTemplate>
</Label.ContentTemplate>
</Label>
</Grid>
</Window>
▶ MainWindow.xaml.cs
using System.Windows;
namespace TestProject
{
/// <summary>
/// 메인 윈도우
/// </summary>
public partial class MainWindow : Window
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainWindow()
/// <summary>
/// 생성자
/// </summary>
public MainWindow()
{
InitializeComponent();
this.label.Content = new { FirstName = "길동", LastName = "홍", BirthYear = 2020 };
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'C# > WPF' 카테고리의 다른 글
[C#/WPF] ListBox 엘리먼트 : 마우스 진입시 애니메이션 사용하기 (0) | 2021.03.07 |
---|---|
[C#/WPF] ListBox 클래스 : 항목 선택시 슬라이딩 리스트 박스 사용하기 (0) | 2021.03.07 |
[C#/WPF] 누겟 설치 : VirtualDesktop.WPF (0) | 2021.03.06 |
[C#/WPF] SystemParameters 클래스 : VirtualScreenWidth/VirtualScreenHeight 정적 속성을 사용해 듀얼 모니터 전체 화면 윈도우 표시하기 (0) | 2021.03.06 |
[C#/WPF] Screen 클래스 : AllScreens 정적 속성을 사용해 듀얼 모니터 전체 화면 윈도우 표시하기 (0) | 2021.03.06 |
[C#/WPF] ContentPresenter 엘리먼트 사용하기 (0) | 2021.03.04 |
[C#/WPF] DropShadowEffect 엘리먼트 : 테두리가 없는 윈도우에서 그림자 효과 사용하기 (0) | 2021.03.04 |
[C#/WPF] WindowChrome 엘리먼트 : WindowChrome 첨부 속성을 사용해 윈도우 테두리 제거하기 (0) | 2021.03.04 |
[C#/WPF] 반투명 패널 사용하기 (0) | 2021.03.03 |
[C#/WPF/.NET5] 아크릴 반투명 윈도우 만들기 (0) | 2021.03.01 |
댓글을 달아 주세요