C# WPF 프로그래밍 유저 컨트롤을 구현하려면, 유저 컨트롤을 추가해줘야 합니다.
방법은 아래와 같습니다.
1-(1) User Control xaml 소스 코드
<UserControl x:Class="user.ContactControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:user"
mc:Ignorable="d"
d:DesignHeight="90" d:DesignWidth="200">
<Grid>
<StackPanel Background="LightGray"
Margin="10">
<TextBlock x:Name="nameTextBlock"
Text="Name"
FontSize="20"
FontWeight="Bold"/>
<TextBlock x:Name="emailTextBlock"
Text="Email"
FontSize="15"
Foreground="DodgerBlue"/>
<TextBlock x:Name="phoneTextBlock"
Text="Phone"
FontSize="15"
FontStyle="Italic"/>
</StackPanel>
</Grid>
</UserControl>
1-(2) MainWindow xaml 소스 코드
<Window x:Class="user.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:user"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<ListBox>
<local:ContactControl x:Name="myContact"/>
<local:ContactControl/>
<local:ContactControl/>
</ListBox>
</Window>
2. 이벤트 함수(User control)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace user
{
/// <summary>
/// ContactControl.xaml에 대한 상호 작용 논리
/// </summary>
public partial class ContactControl : UserControl
{
private Contact contactdata;
public Contact ContactData // 밖으로 노출 시킬 property
{
get
{
return ContactData;
}
set
{
contactdata = value;
nameTextBlock.Text = contactdata.Name;
emailTextBlock.Text = contactdata.Email;
phoneTextBlock.Text = contactdata.Phone;
}
}
public ContactControl()
{
InitializeComponent();
}
}
public class Contact
{
public string Name { get; set; }
public string Email { get; set; }
public string Phone { get; set; }
}
}
2-(2) MainWindow 이벤트 함수
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace user
{
/// <summary>
/// MainWindow.xaml에 대한 상호 작용 논리
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Contact contact = new Contact(); // 객체 생성
contact.Name = "조용구";
contact.Email = "12345";
contact.Phone = "1234";
myContact.ContactData = contact;
}
}
}
3. 결과
'Language > C# WPF Programming' 카테고리의 다른 글
C# WPF 프로그래밍 상속 및 접근자 (0) | 2019.04.27 |
---|---|
C# WPF 프로그래밍 2개의 배열의 곱 구하기 (0) | 2019.04.26 |
C# 기초 프로그래밍 Main 함수와 Console 코드 (0) | 2019.04.25 |
C# WPF 프로그래밍 공부한 내용 정리 (0) | 2019.04.24 |
C# WPF 프로그래밍 툴바(Tool Bar)구현 (0) | 2019.04.22 |
C# WPF 프로그래밍 SubWindow 생성 구현하기 (0) | 2019.04.21 |
C# WPF 프로그래밍 콤보박스(Combo Box) 구현 (0) | 2019.04.20 |
C# WPF 프로그래밍 계산기(Calculator) 프로그램 만들기 - 최종(기능 구현) (0) | 2019.04.20 |
최근댓글