728x90
윈도우 프로그램에서 가장 중요한 컨트롤중에 하나인 메뉴에 대해 이야기 해보겠습니다. 메뉴는 주로 MDI( 다중 문서 인터페이스 [multiple document interface]) 형태의 윈도우 프로그램(예:MS 오피스)등에서 서로 관련된 기능들을 모아서 한정된 크기의 폼에 표현하기 위한 컨트롤입니다.
메뉴는 다양한 형태의 상용컨트롤과 Win32 API에서 호출하는 형태 그리고 비주얼스튜디오 닷넷등의 개발툴에서 제공되는 컨트롤 형태로서 코드를 작성할 수 있습니다. WPF에서도 역시 다른 컨트롤들과 동일하게 XAML 형태로 작성이 가능합니다.
그림 1.메뉴화면
Header=“파일“ : 메뉴의 CAPTION을 표시하는 속성입니다.
IsCheckable="true" : 특정메뉴를 선택했을때 체크표시를 하기위한 속성입니다.
InputGestureText="Ctrl+N" : 단축키를 지정하는 속성입니다.
<Separator /> 태그는 메뉴아이템 사이에 경계를 지정합니다.
메뉴는 다양한 형태의 상용컨트롤과 Win32 API에서 호출하는 형태 그리고 비주얼스튜디오 닷넷등의 개발툴에서 제공되는 컨트롤 형태로서 코드를 작성할 수 있습니다. WPF에서도 역시 다른 컨트롤들과 동일하게 XAML 형태로 작성이 가능합니다.
그림 1.메뉴화면
<Window x:Class="wpf13.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="450" Width="600">
<Grid>
<Menu Background="White" Grid.Row="1" Grid.Column="1" HorizontalAlignment="Left"
Width="39" Margin="6,1,0,4">
<MenuItem Header="_파일">
<MenuItem Header="_새로만들기" IsCheckable="True" InputGestureText="Ctrl+N" />
<MenuItem Header="_열기" IsCheckable="True" InputGestureText="Ctrl+O" />
<MenuItem Header="_닫기" IsCheckable="True" InputGestureText="Ctrl+F4" />
<Separator />
<MenuItem Header="_프린트">
<MenuItem Header="_미리보기" IsCheckable="True" />
<MenuItem Header="출력" />
</MenuItem>
</MenuItem>
</Menu>
<Menu Background="White" Grid.Row="1" Grid.Column="1" HorizontalAlignment="Left"
Width="39" Margin="64,1,0,4">
<MenuItem Header="_편집">
<MenuItem Header="_실행취소" IsCheckable="True" />
<MenuItem Header="_다시실행" IsCheckable="True" />
<Separator />
<MenuItem Header="_잘라내기" IsCheckable="True" InputGestureText="Ctrl+X" />
<MenuItem Header="_복사" InputGestureText="Ctrl+C" />
<MenuItem Header="_붙여넣기" InputGestureText="Ctrl+V" />
</MenuItem>
</Menu>
</Grid>
</Window>
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="450" Width="600">
<Grid>
<Menu Background="White" Grid.Row="1" Grid.Column="1" HorizontalAlignment="Left"
Width="39" Margin="6,1,0,4">
<MenuItem Header="_파일">
<MenuItem Header="_새로만들기" IsCheckable="True" InputGestureText="Ctrl+N" />
<MenuItem Header="_열기" IsCheckable="True" InputGestureText="Ctrl+O" />
<MenuItem Header="_닫기" IsCheckable="True" InputGestureText="Ctrl+F4" />
<Separator />
<MenuItem Header="_프린트">
<MenuItem Header="_미리보기" IsCheckable="True" />
<MenuItem Header="출력" />
</MenuItem>
</MenuItem>
</Menu>
<Menu Background="White" Grid.Row="1" Grid.Column="1" HorizontalAlignment="Left"
Width="39" Margin="64,1,0,4">
<MenuItem Header="_편집">
<MenuItem Header="_실행취소" IsCheckable="True" />
<MenuItem Header="_다시실행" IsCheckable="True" />
<Separator />
<MenuItem Header="_잘라내기" IsCheckable="True" InputGestureText="Ctrl+X" />
<MenuItem Header="_복사" InputGestureText="Ctrl+C" />
<MenuItem Header="_붙여넣기" InputGestureText="Ctrl+V" />
</MenuItem>
</Menu>
</Grid>
</Window>
Header=“파일“ : 메뉴의 CAPTION을 표시하는 속성입니다.
IsCheckable="true" : 특정메뉴를 선택했을때 체크표시를 하기위한 속성입니다.
InputGestureText="Ctrl+N" : 단축키를 지정하는 속성입니다.
그림 2.파일메뉴
그림 3.편집메뉴
<Separator /> 태그는 메뉴아이템 사이에 경계를 지정합니다.
※ 테스트 환경
-----------------------------------------------------------------------------------------
운영체체 : Windows Vista Ultimate 32bit
개발툴 : Microsoft Visual C# Codename "Orcas"
-----------------------------------------------------------------------------------------
'.NET WPF' 카테고리의 다른 글
[Controls] 16. Expender (0) | 2007.01.12 |
---|---|
[Controls] 15. Treeview (0) | 2007.01.11 |
[Controls] 14. Slider Style DataBinding (0) | 2007.01.10 |
[Controls] 12. ListBox (0) | 2006.12.22 |
[Controls] 11. PasswordBox (0) | 2006.12.22 |
[Controls] 9. ProgressBar (0) | 2006.12.22 |
[Controls] 8. TabControl (0) | 2006.12.22 |
댓글