안녕하세요..^^ 이렇게 연휴가 또 훌~쩍 지나가버리네요..
연휴에는 기필코 공부를 열심히 하겠노라고..다짐을 해놓고서는..
한동안 집에 못갈것 같아서..가정의 달을 맞아 집에 다녀 오느라..한게 없네요..ㅠㅠ

하핫.. 잡담은 그만하고 강좌 시작하도록 하겠습니다. 지난번에 버튼 애니메이션까지 진행했는데요.
오늘은 그 애니메이션을 버튼의 스타일로 적용하도록 해볼께요.



자, 위와 같이 블렌드에서 스토리보드를 생성하여 애니메이션까지 적용해보았습니다.
제가 전에 툴박스 설명을 했을때 보셨겠지만 블렌드에서는 다양한 컨트롤을 제공합니다.
예전에는 지원되는 컨트롤이 많지 않았기 때문에 버튼과 같은 컨트롤도 사용자컨트롤로 만들어주어야 하는
불편함이 있었지만 이제는 미리 만들어져 있는 컨트롤에 스타일을 입히기만 하면 됩니다. ^^

버튼 컨트롤에는 기본적으로  Normal State(평소 상태), MouseOver State(올려진 상태),
Pressed State(눌려진 상태), Disabled State(활성화 상태)
이렇게 4개의 이벤트를 가지고 있습니다.

그중에 마우스가 오버되었을 경우를 예로 들어 만들어보도록 하겠습니다. 스타일은 리소스사전으로 따로
등록하여 적용하는 것이 좋지만, 리소스를 따로 생성하여 관리하는 부분은 차후에 진행하도록 하겠습니다.
오늘은 전역으로 리소스와 스타일을 정의하는 App.xaml 에 직접 적용하여 볼께요.

오른쪽에 보면 프로젝트 파일의 정보가 나타나있죠?  더블클릭합니다.



XAML 코드를 보면 다음과 같은데요. 이렇게 애플리케이션의 리소스를 써주는 곳에 버튼의 스타일을 정의할겁니다.



먼저 완성된 App.xaml의 소스 화면을 보면 다음과 같습니다.



처음부분은 버튼 컨트롤의 스타일을 정의하는데요. x:Key 이름을 Button_Style 이라고 지어줍니다. 여기서 x:Key 이름은 Page.xaml 파일에서 컨트롤에 리소스를 사용하여 스타일을 적용시킬 때 접근할 수 있는 이름입니다.

파란 네모영역 부분은 마우스 이벤트가 "MouseOver State"일  경우 보여질 스토리보드 부분이고,
빨간 네모영역 부분은 버튼 컨트롤의 디자인 부분입니다.

그럼 이제 애니메이션을 만들어 둔 bookmark.xaml의  XAML 소스에서 스토리보드디자인 소스를
가져온 후 위의 네모 영역에 맞추어 소스를 붙여 넣습니다.
제가 만든 bookmark.xaml의 소스는 다음과 같습니다. 아래 표시한 영역을 복사하여 넣는것이죠.



다 되셨나요? 그럼 이제 우리는 프로젝트가 실행되는 메인 페이지인 Page.xaml에 가서 버튼을 얹어 보도록
할께요. 프로젝트 파일 패널에 가서 Page.xaml 을 더블클릭합니다.



그러면 아래와 같은 아트보드 영역이 나타나는데요. 스티커 버튼의 반투명한 부분을 보기 위해서 검은 네모를
임시로 그려주도록 하겠습니다.



그 다음은 버튼 컨트롤을 하나 올려주고 이름은 MarkButton 이라고 지어줍니다.


그리고 XAML 뷰모드에서 다음과 같이 버튼 컨트롤의 스타일을 적용시켜줍니다.



다시 메인으로 돌아오면 버튼 컨트롤에 만들어둔 스타일이 적용되어 있는것을 확인할 수 있습니다.
(단, 처음 버튼 컨트롤을 생성한 크기와 적용시킨 스타일의 크기가 맞지 않을수 있으니 사이즈 조절을 해야합니다.)



여기까지가 디자이너분들이 할 수 있는 영역이라고 봅니다. 그런데 실행화면에서 확인을 하려면 어떻게
해야하느냐구요? 안타깝게도 확인을 하기 위해서는 CS 파일에서 페이지가 로드될 경우 이벤트 핸들러를
생성하여 실행시키게 하는 소스를 추가해 주어야 합니다. 비주얼 스튜디오를 깔으셨다면 이어서 ㄱㄱ싱 :)

 Page.xaml.cs 파일에서 소스를 추가하기 위해 더블클릭하면 Visual Studio 로 이동하게 됩니다.



CS 파일을 보면 기본적인 코드는 생성 되어 있구요. 제가 빨간 네모 친 부분만 추가해서 넣어주면 됩니다.



자 이렇게 넣어주고.. 다시 블렌드로 가서 F5를 눌러주면 아래와 같이 실행됩니다.


이로써~ 버튼 컨트롤에 스타일을 적용하여 마우스 이벤트 주는법에 대해서 알아보았습니다.
좀 어려운가요? 하도 파일을 왔다리 갔다리 하다보니 좀 헷갈릴것 같기도 하네요 ^^;;
이와 같이 다른 디자인을 적용할 수도 있고, 마우스 이벤트 상태에 따른 스토리보드를 각각 추가하여
좀더 효과적인 버튼을 만들 수 있습니다. ^^ 내일은 비가 온다고 하니 우산 꼭 챙기세요~*
Posted by 짱묜
안녕하세여~^^ 짱묜입니다. 툴 소개하는 강좌만 하면 지루할것 같아서 디자인블렌드
활용한 간단한 버튼만들기 강좌를 써볼께요.

1. Expression Design 을 이용한 버튼 디자인
2. Expression Blend 를 이용한 버튼 이벤트 효과

이렇게 진행을 하도록 하겠습니다.

물론, 블렌드 안에서도 간단한 버튼 디자인은 가능하지만 디자인툴을 사용해서 하도록 할께요
(배운것은 무조건 써먹자!! 후훗~)

자~ 이제 익스프레션 디자인을 켜도록 합시다~!

1. 이미지를 삽입하거나 혹은 만들고 싶은 배경을 만들어 줍니다..


저는 간단하게 샘플 배경으로 익스프레션 디자인에서 그렸습니다. 사각형을 하나 그리고 라이브효과
Drop Shadow 기능으로 그림자를 만들어 책장과 같은 효과를 만들었어요.
그리고 제가 좋아하는 태연의 '만약에'라는 노래가사를 넣었죠.(한번 들어보세요..정말 좋아요 ^^)
이건 테이프 효과를 보기 위해서 그려본 것이고 실제로는 블렌드에서 원하는 이미지를 넣으시면 됩니다.

2. 본격적으로 테이프를 그려볼께요. 사실 너무 간단해요 ㅠ_ㅠㅋㅋ

사각형을 하나 그려주시고 CornerRadius(각의둥글기)의 값에 8px를 넣어줍니다.
색깔은 #70EB07를 입력해주세요.

3. 그린 사각형 옆에 같은 높이의 사각형을 그린 후 살짝 포개줍니다. 저처럼 해주세요~ㅎㅎ

사각형의 색은 아무래도 좋습니다^^ 잘라버릴꺼니까요.

4. 두 개의 사각형을 선택한 후, Object 메뉴의 Path Operation의 하위메뉴인 Divide를 선택합니다.
그러면 패스의 겹치는 부분대로 패스가 분할되는데요. 3개로 분할되면 제일 마지막 부분만 남겨놓고 삭제합니다.

 
5. 자 그러면 테이프의 칼라풀~한 부분이 남아요.. 그럼 남은 부분을 하나 더 복사하여 색을 #2FB607
입력하고 사각 모서리부분의 노드를 앞으로 당겨 짧게 만들어 주세요. 노드를 이동할때는 Shift 키를 누르면
동일선상에서 이동이 가능해집니다.


6. 이렇게 가로길이가 조금 더 짧은 사각형을 Arrange 메뉴의 Send to Backward 를 눌러 위의 사각형보다
뒤로 보낸 후에 다음과 같이 놓아줍니다. 그림자 효과 같은거에요..조금 더 예뻐 보이게 하기 위해서..^^
 

6. 제대로 되었나요? 그럼 이제 테이프의 투명한 부분을 만들어야겠죠. 간단합니다. 사각형과 같은 높이의
직사각형을 만들어주고 흰색으로 채워준 다음에 윗 사각형 옆에 놓아주세요.


7. 이제 마지막 단계입니다. 테이프의 흰색부분과 붙여진 부분은 투명해야겠죠? ㅎㅎ
흰 사각형과 바로옆의 윗 사각형을 같이 선택하고 Opacity의 값을 70%로 줄여줍니다. 그리고 나서
세 오브젝트를 모두 선택하여 그룹화 합니다. Ctrl+G 누르시면 돼요.
 

8. 다 완성되었어요.. 만들어진 테이프를 이미지의 끝부분에 얹어주면 됩니다.
색깔은 여러가지 색으로 다양하게 해보세요~~


다음 시간에는 오늘 강좌에서 그린 테이프를 가지고 버튼 이벤트로 모션효과를 해보도록 하겠습니다.
좋은밤 되세요..^^  




Posted by 짱묜