01.

더보기

1.

 

 

2.

d:DesignHeight="80"
d:DesignWidth="380">
<Grid Background="#AAe5e5e5">
<StackPanel Margin="4">
<TextBlock Text="Name LastName"
FontSize="20"
FontWeight="Bold" />
<TextBlock Text="example@domain.com"
FontSize="15"
Foreground="DodgerBlue" />
<TextBlock Text="(123)456 7890"
FontStyle="Italic" />
</StackPanel>
</Grid>

 

 

3.

private Contact contact;
public Contact Contact
{
get { return contact; }
set { contact = value; }
}

 

 

4.

<Grid Background="#AAe5e5e5">
<StackPanel Margin="4">
<TextBlock Text="Name LastName"
FontSize="20"
FontWeight="Bold"
x:Name="nameTextBlock"/>
<TextBlock Text="example@domain.com"
FontSize="15"
Foreground="DodgerBlue"
x:Name="emailTextBlock"/>
<TextBlock Text="(123)456 7890"
FontStyle="Italic"
x:Name="phoneTextBlock"/>
</StackPanel>
</Grid>
nameTextBlock.Text = contact.Name;
emailTextBlock.Text = contact.Email;
phoneTextBlock.Text = contact.Phone;

 

 

 

 

 

02.

더보기

1.

xmlns:uc="clr-namespace:ContactApp.Control"

 

 

2.

public Contact Contact
{
get { return (Contact)GetValue(ContactProperty); }
set { SetValue(ContactProperty, value); }
}
public static readonly DependencyProperty ContactProperty = DependencyProperty.Register(
"Contact", // 의존 속성으로 등록될 프로퍼티
typeof(Contact), // 등록할 의존 프로퍼미 데이터 타입
typeof(ContactControl), // 의존 속성을 소유하게 될 Owner
new PropertyMetadata( // 의존 속성으로 등록될 프로퍼티 초기값 설정
new Contact()
{
Name = "Name LastName",
Phone = "(123)456 7890",
Email = "email@email.com"
},
SetText) // 등록된 프로퍼티 변경시 콜백
);
private static void SetText(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
ContactControl control = (ContactControl)d;
if (control != null)
{
control.nameTextBlock.Text = ((Contact)e.NewValue).Name;
control.emailTextBlock.Text = ((Contact)e.NewValue).Email;
control.phoneTextBlock.Text = ((Contact)e.NewValue).Phone;
}
}

 

 

3.

<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment"
Value="Stretch" />
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemTemplate>
<DataTemplate>
<uc:ContactControl Contact="{Binding}"/>
</DataTemplate>
</ListView.ItemTemplate>



 

 

 

03.

더보기

1.

Owner = Application.Current.MainWindow;
WindowStartupLocation = WindowStartupLocation.CenterOwner;

 

 

2.

Owner = Application.Current.MainWindow;
WindowStartupLocation = WindowStartupLocation.CenterOwner;

 

 

 

 

 

04.