블로그 이미지
내게 능력 주시는 자 안에서 내가 모든것을 할수 있느니라 - 빌립보서 4 : 13 - happydong

카테고리

Happydong (1363)
프로그래밍 (156)
MUSIC (16)
인물 (3)
Utility (10)
세미나 소식&내용 (22)
IT뉴스 (18)
운동 (830)
CAFE (10)
Life (282)
Total
Today
Yesterday



주의 : 해당 내용은 실버라이트 1.1버전을 내용을 작성된 내용입니다. 현재 나와 있는 버전과 차이가 있어 버그가 있을수 있습니다. 참고하세요!!


[무한도전] Silverlight 메뉴바 만들기 (3)

본격적으로 메뉴바를 만들어도록 하지요! 그림을 보시면서 잘 따라 오세요!! 저도 가끔은 실수 할 수 있으니깐 이상한 부분은 바로바로 지적해주세요~^^;;;

아래 그림들을 보면서 설명해드리도록 하겠습니다.

1)그림

사용자 삽입 이미지


그림에서 왼쪽메뉴부분에 보시면 "Rectangle"이라고 있습니다. 마우스로 선택을 하시고 원하시는 그림을 그리시면 됩니다. 저는 그림과 같은 형태를 만들어 보았습니다. 그림안에 색은 아래 그림처럼 오른쪽에 보시면 색을 선택할 수있는 빨래뜨가 있습니다.(빨래뜨는 포토샵에서 자주사용되는 용어죠)

 

사용자 삽입 이미지

(위그림은 그림 제일위에  Properties 를 마우스로 클릭하면 나타는 그림입니다.)

그림과 같이 색을 선택하시고 제일위에 보시면 Name이라고 했습니다. 우리가 흔히 사용하는 객체의 id를 쓰는 것이라고 생각하시면 될것 같군요! 저는 Mainebar 라고 했습니다.그림과 같이 만들어 보았다면 XAML 코드로는 어떻게 생성이 되었는지 아래 코드를 보도록 하겠습니다.

XAML Code

<Canvas

xmlns="http://schemas.microsoft.com/client/2007"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

xmlns:UntitledProject2="clr-namespace:UntitledProject2;assembly=ClientBin/UntitledProject2.dll"

Width="640" Height="480"

Background="White"

x:Class="UntitledProject2.Page;assembly=ClientBin/UntitledProject2.dll"

x:Name="Page"

> 

 

        <Rectangle Width="520" Height="78" Fill="#FFE4D5D5" Stroke="#FF000000" RadiusX="19.5" RadiusY="19.5" Canvas.Left="40" Canvas.Top="114" RenderTransformOrigin="0.5,0.5" x:Name="Mainebar">

               <Rectangle.RenderTransform>

                       <TransformGroup>

                              <ScaleTransform ScaleX="1" ScaleY="1"/>

                              <SkewTransform AngleX="0" AngleY="0"/>

                              <RotateTransform Angle="0"/>

                              <TranslateTransform X="0" Y="0"/>

                       </TransformGroup>

               </Rectangle.RenderTransform>

        </Rectangle>

</Canvas>


위에서 그림을 그렸을 뿐인데..이렇게 XAML 코드가 생성이 되었습니다. 코드에서 Canvas는프로젝트가 생성이 될때 기본적으로 생성이된 부분이고요. Rectangle는 제가 그림을 그리면서 만들어진 코드입니다. 계속해서 Blend에서 나머지 작업들을 해보도록 하겠습니다.이제는 Maine Menu를 만들어 보도록 하겠습니다. 아래 그림을 보도록 하시지요^^

사용자 삽입 이미지

저는 아까와 같은 방법으로 해서 Maine Menu가 될 부분을 만들어 보았습니다. 역시 한번 만들어보니깐 두번째 만들기가 쉬어 지셨죠~^^ 저도 그렇습니다. 이런식으로 해서 저는 Maine Menu가 될 부분을 4개만들어 보았습니다. 하나를 만들었으니 Ctrl + C & V를 하면 되겠지요~^^;;

사용자 삽입 이미지

이렇게 복사한 것들을 원하는 위치에 정렬해서 두기란 쉽지 않죠. 모눈종이 처럼  눈금이 있다면 정말 정렬하는데 수월하지 않겠습니까!?^^ 위 그림에 빨간색부분을 마우스로 클릭만 해주시면 위 그림과 같이 나타나게 됩니다~^^ 세심한 작업하는데는 도움이 되겠네요~
(4개의 Rectangle은 각각 NameMenu01,Menu02,Menu03,Menu04로 했습니다.)

자~ 제가 만든 색부분이 조금 이상하지 않습니까!?^^;; 안쪽에는 약간 밝고,,양쪽끝 부분은 어둡고...별로 못느끼겠지요~^^;;;;;ㅋㅋ아무튼 이 부분이 어떻게 만들어졌는지 확이해 보도록 하겠습니다..모...별거 아닌데...ㅋㅋ아래그림을 보시면 아하~하실 겁니다.일단 색을 변경해주고하 하는 모양을 선택하시고요.

사용자 삽입 이미지

위 그림은 Solid color brush를 선택후 색을 선택한 그림입니다.

 

사용자 삽입 이미지

위 그림은 Gradient brush를 선택후 색을 선택한 그림입니다. 대충 감을 잡았을 것이라 생각이 되는 군요!! 그림 그대로 원하는 위치에 색만 바꾸고 싶으시다면 마우스로 원하는 위치를 선택하시고 원하는 색을 선택하시면 됩니다~^^ 아주 간단 하죠~^^ 이렇게 해서 저는 안쪽은 약간 밝게 모서리 쪽은 약간 어둡게 만든 것입니다. 한번해 보세요~^^;; 자~이제 어느정도 메뉴바 같은 모양이 나타나는 군요~~^^;; 혹시나 만들어 보고 싶은데...모르겠는 분들은 아래 소스를 붙어 넣기 하세요~^^

 XAML Code

<Rectangle Width="78" Height="49" Stroke="#FF000000" RadiusX="19.5" RadiusY="19.5" Canvas.Left="81" Canvas.Top="127" x:Name="Menu01" Opacity="0.99" RenderTransformOrigin="0.5,0.5">

    <Rectangle.Fill>

      <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">

        <GradientStop Color="#FF2F2D2D" Offset="0.034"/>

        <GradientStop Color="#FF514C4C" Offset="0.798"/>

        <GradientStop Color="#FF494444" Offset="0.192"/>

        <GradientStop Color="#FF625C5C" Offset="0.385"/>

        <GradientStop Color="#FF625C5C" Offset="0.587"/>

        <GradientStop Color="#FF2F2C2C" Offset="0.971"/>

      </LinearGradientBrush>

    </Rectangle.Fill>

    <Rectangle.RenderTransform>

      <TransformGroup>

        <ScaleTransform ScaleX="1" ScaleY="1"/>

        <SkewTransform AngleX="0" AngleY="0"/>

        <RotateTransform Angle="0"/>

        <TranslateTransform X="0" Y="0"/>

      </TransformGroup>

    </Rectangle.RenderTransform>

  </Rectangle>

  <Rectangle Width="78" Height="49" Stroke="#FF000000" RadiusX="19.5" RadiusY="19.5" Canvas.Left="200" Canvas.Top="127" x:Name="Menu02" Opacity="0.99" RenderTransformOrigin="0.5,0.5">

    <Rectangle.Fill>

      <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">

        <GradientStop Color="#FF2F2D2D" Offset="0.034"/>

        <GradientStop Color="#FF514C4C" Offset="0.798"/>

        <GradientStop Color="#FF494444" Offset="0.192"/>

        <GradientStop Color="#FF625C5C" Offset="0.385"/>

        <GradientStop Color="#FF625C5C" Offset="0.587"/>

        <GradientStop Color="#FF2F2C2C" Offset="0.971"/>

      </LinearGradientBrush>

    </Rectangle.Fill>

    <Rectangle.RenderTransform>

      <TransformGroup>

        <ScaleTransform ScaleX="1" ScaleY="1"/>

        <SkewTransform AngleX="0" AngleY="0"/>

        <RotateTransform Angle="0"/>

        <TranslateTransform X="0" Y="0"/>

      </TransformGroup>

    </Rectangle.RenderTransform>

  </Rectangle>

  <Rectangle Width="78" Height="49" Stroke="#FF000000" RadiusX="19.5" RadiusY="19.5" Canvas.Left="323" Canvas.Top="127" x:Name="Menu03" Opacity="0.99" RenderTransformOrigin="0.5,0.5">

    <Rectangle.Fill>

      <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">

        <GradientStop Color="#FF2F2D2D" Offset="0.034"/>

        <GradientStop Color="#FF514C4C" Offset="0.798"/>

        <GradientStop Color="#FF494444" Offset="0.192"/>

        <GradientStop Color="#FF625C5C" Offset="0.385"/>

        <GradientStop Color="#FF625C5C" Offset="0.587"/>

        <GradientStop Color="#FF2F2C2C" Offset="0.971"/>

      </LinearGradientBrush>

    </Rectangle.Fill>

    <Rectangle.RenderTransform>

      <TransformGroup>

        <ScaleTransform ScaleX="1" ScaleY="1"/>

        <SkewTransform AngleX="0" AngleY="0"/>

        <RotateTransform Angle="0"/>

        <TranslateTransform X="0" Y="0"/>

      </TransformGroup>

    </Rectangle.RenderTransform>

  </Rectangle>

  <Rectangle Width="78" Height="49" Stroke="#FF000000" RadiusX="19.5" RadiusY="19.5" Canvas.Left="442" Canvas.Top="127" x:Name="Menu04" Opacity="0.99" RenderTransformOrigin="0.5,0.5">

    <Rectangle.Fill>

      <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">

        <GradientStop Color="#FF2F2D2D" Offset="0.034"/>

        <GradientStop Color="#FF514C4C" Offset="0.798"/>

        <GradientStop Color="#FF494444" Offset="0.192"/>

        <GradientStop Color="#FF625C5C" Offset="0.385"/>

        <GradientStop Color="#FF625C5C" Offset="0.587"/>

        <GradientStop Color="#FF2F2C2C" Offset="0.971"/>

      </LinearGradientBrush>

    </Rectangle.Fill>

    <Rectangle.RenderTransform>

      <TransformGroup>

        <ScaleTransform ScaleX="1" ScaleY="1"/>

        <SkewTransform AngleX="0" AngleY="0"/>

        <RotateTransform Angle="0"/>

        <TranslateTransform X="0" Y="0"/>

      </TransformGroup>

    </Rectangle.RenderTransform>

  </Rectangle>


계속해서 TextBlock를 이용해서 Menu라는 글을 써보도록 하겠습니다. 아~하 이 다음([무한도전] Silverlight 메뉴바 만들기 (4) )에 다루도록 하겠습니다.^^ 여기까지 읽어주시고 봐주셔서 감사합니다.

Posted by happydong
, |



주의 : 해당 내용은 실버라이트 1.1버전을 내용을 작성된 내용입니다. 현재 나와 있는 버전과 차이가 있어 버그가 있을수 있습니다. 참고하세요!!


[무한도전] Silverlight 메뉴바 만들기 (2)


이제 슬슬 하나 만들어 볼까요..^^
VS2008에서 실버라이트 프로젝트를 생성합니다.(한글버전)파일 >>새로만들기 >>프로젝트 선택합니다. 그럼 아래 그림과 같이 나타나실거예요. 그럼 왼쪽에 Silverlight 선택하고 Silverlight Project 선택을 하고 원하는 프로젝트 이름을 작성합니다. 저는 "MenubarTest" 라고 했습니다.


사용자 삽입 이미지


이렇게 프로젝트를 생성하면 아래그림과 같이 프로젝트파일들이 생성이 됩니다.


사용자 삽입 이미지


그럼 이제 프로젝트를 생성했으니 Expression Blend에서 한번 프로젝트를 열어 보도록 하겠습니다.자~Blend를 실행하면 아래 그림과 같이 나타납니다. Projects >> Open Project... 를 클릭해서 프로젝트가 생성된 위치에서 프로젝트를 선택합니다.


사용자 삽입 이미지


프로젝트를 선택을 해서 실행을 하게되면 아래와 같은 그림이 나타날것입니다.


사용자 삽입 이미지


이제는 대충 모양을 만들어 봐야겠지요. 그 내용은 [무한도전] Silverlight 메뉴바 만들기 (3)에서 다루도록 하겠습니다. 여기까지 읽어 주셔서 감사합니다~^^

Posted by happydong
, |



주의 : 해당 내용은 실버라이트 1.1버전을 내용을 작성된 내용입니다. 현재 나와 있는 버전과 차이가 있어 버그가 있을수 있습니다. 참고하세요!!

[무한도전] Silverlight 메뉴바 만들기 (1)



오늘 처음으로 Silverlight를 이용한 메뉴바를 만들어 보았습니다. 나름 삽질도 하고...내가 직접 생각해서 하려고 하니깐 쉽지 않더라고요. 또한 제가 C#를 공부한지가 얼마 되지도 않아서 그런지...조금 익숙해지데 조금 시간이 걸렸습니다. 메뉴바 나름 완전하는데....한 5시간 정도 걸린것 같습니다. 너무 오래 걸렸죠..ㅋㅋ그런데 만들면서 조금씩 너무 재미있고 신기 했습니다. 저 같은 초보자들도 이렇게 만들수 있구나 하는 생각에 아주 약간의 희망을 받았습니다~^^ 비록 대단한거는 아니지만 한번 어떻게 만들었는지 내용을 올려보려 합니다.
일단 제가 만든 메뉴바가 어떻게 움직이는지 아래 그림들을 보면서 알아 보도록 하겠습니다.

1. 메뉴바 - Maine

사용자 삽입 이미지


위 그림은 처음에 보여기는 Maine Menu 입니다. 마우스를 위로 올렸을때 어떻게 애니메이션이 일어나는지 아래 그림들을 보면 아실수 있을 것입니다.

2. 메뉴바 Animation 01

사용자 삽입 이미지

3. 메뉴바 Animation 02

사용자 삽입 이미지

4. 메뉴바 Animation 03

사용자 삽입 이미지

위 그림들을 보시면서 대충 어떤 Animation 효과 인지 짐작 하셨을 것 같습니다. 아주 간단합니다. 아주 간단해서 별로 흥미롭지 않으시죠.ㅋ^^;;; 하지만 저는 초보라는거...제가 처음으로 이렇게 만들수 있다는 희망을 얻었습니다~! 비록 간단한 구현이지만 열심히 파보겠습니다. "도와주십시오~!"(웃찾사 - 서울나들이 버전")
저기 SubMenu에도 링크까지 걸어 놨어요..클릭하면 해당 싸이트로 이동해요...ㅋㅋ아래 그림처럼요~^^

사용자 삽입 이미지

 이제 그럼 어떻게 만들었는지 하나하나 보면서 설명해 보겠습니다. 이 다음([무한도전]Silverlight 메뉴바 만들기 (2) )부터 소스와 함께 보도록 하겠습니다. 혹시 처음 Silverlight를 접하시는 분들에게 조금이나마 도움이 되었으면 좋겠군요~^^ 홧팅~^^
Posted by happydong
, |