오늘은 WPF의 Layout 기능을 이용한 어플 시작 페이지를 만들어 보고자 합니다.
결과물 부터 확인 해 보겠습니다.
|
계정 만들기 |
초기 비어 있는 유저 사진 공간을 채울 이미지를 제외 하고는 WPF의 Layout 기능만 가지고 구현 할 수 있습니다.
이 Layout은 상위부터 하위까지 각 로우 별로 하나의 엘레멘트를 가지고 있는 구조이기에 저는 StackPanel을 이용해 구현 하였습니다.
그럼 XAML 코드를 한번 볼까요?
StackPanel 태그를 선언 합니다.
StackPanel에 Margin을 적당하게 설정 합니다.
1: <Window x:Class="WunderlistDoIt.RegisterWindow"
2: xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3: xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4: xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
5: xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
6: xmlns:local="clr-namespace:WunderlistDoIt"
7: mc:Ignorable="d"
8: Title="RegisterWindow"
9: Height="650"
10: Width="450">
11: <StackPanel Margin="10">
12: </StackPanel>
13: </Window>
사용자 이미지 버튼을 생성 합니다.
사용자가 마우스를 클리하여 이미지를 선택 할 수 있어야 하기에 Button 태그를 선언하며, 사용자 이미지를 Button에 표현하기 위해 Content 속성에 Image 태그를 설정 합니다.
1: <!-- Button -->
2: <Button Name="btnUserImage" Margin="160,60,160,50">
3: <Button.Content>
4: <Image Source="Images/unknown_user.PNG" Stretch="Fill" />
5: </Button.Content>
6: </Button>
안내 문구를 생성 합니다.
안내 문구를 표현을 위해 필요한 TextBlock 속성을 설정 합니다.
1: <!-- Text -->
2: <TextBlock FontWeight="Bold"
3: FontSize="22"
4: HorizontalAlignment="Center"
5: Text="무료 계정 만들기" />
6: <!-- Text -->
7: <TextBlock Margin="20,5,20,0"
8: FontSize="14"
9: Foreground="#CCCCCC"
10: HorizontalAlignment="Center"
11: TextWrapping="Wrap"
12: Text="계정을 만들면 모든 장치에서 목록을 동기화하고 친" />
13: <TextBlock Margin="20,0,20,20"
14: FontSize="14"
15: Foreground="#CCCCCC"
16: HorizontalAlignment="Center"
17: Text="구와 공유할 수 있습니다." />
사용자가 정보 관련 TextBox를 생성 합니다.
사용자의 이름, 이메일, 비밀번호를 입력 받을 수 있는 TextBox 태그를 선언하고 Layout 관련된 속성을 적당히 설정 합니다.
1: <!-- Name TextBox -->
2: <TextBox Name="txtName"
3: Margin="15,5,15,5"
4: Height="40"
5: BorderBrush="#CCCCCC"></TextBox>
6: <!-- Email TextBox -->
7: <TextBox Name="txtEmail"
8: Margin="15,5,15,5"
9: Height="40"
10: BorderBrush="#CCCCCC"></TextBox>
11: <!-- Password TextBox -->
12: <TextBox Name="txtPasword"
13: Margin="15,5,15,5"
14: Height="40"
15: BorderBrush="#CCCCCC"></TextBox>
회원 가입 버튼을 생성 합니다.
Button 태그를 이용해 버튼을 생성 하고, 배경색을 바꾸기 위해 Backgound 속성에 변경하고자 하는 RGB값을 넣습니다. 버튼은 기본으로 Border 속성 값이 설정 되어 있지만, 이번에 필요가 없으 BorderThickness 속성을 0으로 설정 합니다. 그 외에 필요한 속성을 설정 합니다.
1: <!-- Register Button -->
2: <Button Name="btnRegister"
3: Margin="15,5,15,5"
4: FontWeight="Bold"
5: FontSize="18"
6: Background="#2B88D9"
7: BorderThickness="0"
8: Foreground="White"
9: Height="40"
10: Content="가입하기" />
안내 문구를 생성 합니다.
TextBlock 태그를 이용해 안내 문구를 작성 합니다. 밑줄이 들어간 부분은 웹 사이트 링크라는 것이므로 HyperLink 태그를 사용하도록 하고, 한 줄로 표현하기에 문장이 길어 TextBlock 태그를 2번 사용 합니다.
1: <!-- Text -->
2: <TextBlock Foreground="#CCCCCC"
3: FontSize="14"
4: Margin="30,30,30,0"
5: HorizontalAlignment="Center">
6: <Bold>계정을 만들면</Bold>
7: <Hyperlink Foreground="#CCCCCC" NavigateUri="https://naver.com" RequestNavigate="Hyperlink_RequestNavigate">이용약관</Hyperlink> 및
8: <Hyperlink Foreground="#CCCCCC" NavigateUri="https://naver.com" RequestNavigate="Hyperlink_RequestNavigate">개인정보취급방침</Hyperlink>에 동의하게
9: </TextBlock>
10: <TextBlock Foreground="#CCCCCC"
11: FontSize="14"
12: HorizontalAlignment="Center">
13: 됩니다.
14: </TextBlock>
여기까지 StackPanel를 이용한 Layout 작업을 마무리 하겠습니다.
댓글
댓글 쓰기