내보내기(0) 인쇄
모두 확장
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Windows Phone 8의 컨트롤

2014-06-18

적용 대상: Windows Phone 8 및 Windows Phone Silverlight 8.1 | Windows Phone OS 7.1

 

Windows Phone 앱에서는 다양한 컨트롤 형식을 사용할 수 있습니다. 이 항목에서는 Windows Phone 앱에 사용할 수 있는 다양한 컨트롤 형식을 분류하고 콘텐츠를 해당 컨트롤에 추가하는 방법에 대해 설명합니다.

이 항목에는 다음 단원이 포함되어 있습니다.

 

Windows Phone 앱은 사용자가 여러 콘텐츠 페이지를 앞으로 탐색하는 페이지 모델을 기반으로 합니다. 이 모델은 사용자가 탐색할 수 있는 페이지 컨트롤이 포함된 단일 앱 프레임 컨트롤을 기반으로 합니다. 페이지에는 레이아웃 컨트롤이 포함되고 컨트롤에는 추가 컨트롤이 포함됩니다. 프레임 및 페이지 탐색에 대한 자세한 내용은 Windows Phone 8의 앱 내 탐색을 참조하세요. 다음 표에는 Windows Phone 앱에 대한 탐색을 제공하는 데 사용되는 컨트롤이 나와 있습니다.

컨트롤

위치

참고

PhoneApplicationFrame

Microsoft.Phone 어셈블리

Windows Phone 앱의 기본 컨트롤입니다. 이 컨트롤은 페이지 간 탐색을 지원합니다.

PhoneApplicationPage

Microsoft.Phone 어셈블리

PhoneApplicationFrame에서 탐색할 수 있는 콘텐츠를 캡슐화합니다.

다음 이미지에서는 프레임 및 페이지 모델을 보여 줍니다.

Controls - Frame Page

다른 컨트롤을 포함하고 있는 컨트롤을 레이아웃 컨트롤이라고도 합니다. 레이아웃 컨트롤은 다른 컨트롤 및 시각적 개체의 컨테이너입니다. 이름이 의미하는 대로 레이아웃 컨트롤은 이 포함된 개체를 화면에 배치하는 데 사용됩니다. 레이아웃 컨트롤은 페이지 내에서 앱의 레이아웃 루트로 사용됩니다. UI의 다른 모든 개체가 이 루트에 포함됩니다. 필요한 경우 레이아웃 루트 내부에서 추가적인 레이아웃 컨트롤을 사용할 수 있습니다. 새 Windows Phone 앱을 만들면 레이아웃 루트로 사용되는 Grid가 생성됩니다. 레이아웃 루트에는 제목 패널 및 콘텐츠 패널로 사용되는 추가적인 레이아웃 컨트롤이 포함됩니다. 다른 레이아웃 컨트롤을 콘텐츠 패널에 추가할 수 있습니다. 또한 앱의 레이아웃 컨트롤을 선택할 때 앱이 가로 또는 세로 방향을 지원할지 여부를 고려해야 합니다. 방향에 대한 자세한 내용은 빠른 시작: Windows Phone 8의 화면 방향을 참조하세요.

대부분의 레이아웃 컨트롤은 Panel 클래스에서 파생됩니다. 예를 들어 StackPanel, CanvasGrid와 같은 레이아웃 컨트롤은 패널에서 파생됩니다. 두 가지 추가 컨트롤 PanoramaPivot은 휴대폰 앱을 배치하는 데 사용할 수 있습니다. PivotPanorama 컨트롤은 ItemsControl에서 파생되며 Windows Phone 앱에만 사용하도록 만들어졌습니다. 이러한 컨트롤은 대규모 목록이 포함된 일반적인 항목 컨트롤과 달리 포함된 항목 컨트롤 수가 적기 때문에 일반적인 항목 컨트롤과 다릅니다. 이러한 컨트롤을 통해 사용자가 항목 간에 쉽게 살짝 밀고 이동할 수 있습니다.

다음 표에는 Windows Phone 앱에서 레이아웃 및 요소 그룹화에 사용되는 컨트롤이 나와 있습니다.

컨트롤

위치

참고

Border

System.Windows 어셈블리

다른 컨트롤에 대해 테두리나 배경 또는 두 가지를 모두 제공합니다.

Canvas

System.Windows 어셈블리

캔버스의 특정 좌표에 자식 요소를 표시하는 화면을 제공합니다.

ContentControl

System.Windows 어셈블리

단일 자식 요소가 포함된 컨테이너 컨트롤을 나타냅니다. 자식 요소는 개체이므로 자식에는 추가적인 자식 요소가 포함된 레이아웃 컨트롤이 포함될 수 있습니다.

Grid

System.Windows 어셈블리

자식 요소를 표시하기 위한 행 및 열로 구성된 화면을 제공합니다. 그리드에 대해 행 및 열을 정의한 후에 그리드의 특정 행이나 열에 개체를 할당합니다.

Panorama

Microsoft.Phone.Controls 어셈블리

좌우로 이동할 수 있는 항목의 파노라마 뷰를 만듭니다.

Pivot

Microsoft.Phone.Controls 어셈블리

앱 내에서 대규모 데이터 집합의 보기를 관리할 수 있는 빠른 방법을 제공합니다. 컨트롤은 대규모 집합의 필터링이나 뷰 간 전환을 위한 탐색 인터페이스로 사용할 수 있습니다.

StackPanel

System.Windows 어셈블리

자식 요소를 가로 또는 세로로 나란히 표시할 수 있는 화면을 제공합니다.

VirtualizingStackPanel

System.Windows 어셈블리

화면에서 볼 수 있는 콘텐츠를 배열하는 스택 패널 컨트롤을 제공하고 필요에 따라 추가 UI 항목을 만듭니다. VirtualizingStackPanel은 대규모 항목 집합을 사용할 경우 StackPanel보다 더 나은 성능을 제공합니다.

ScrollViewer

System.Windows 어셈블리

자식 요소를 표시하기 위한 스크롤 가능한 화면을 제공합니다.

Windows Phone 레이아웃 컨트롤 및 레이아웃 시스템에 대한 자세한 내용은 Windows Phone 8의 레이아웃을 참조하세요.

다음 이미지에서는 세로 및 가로 방향으로 사용되는 몇 가지 레이아웃 컨트롤을 보여 줍니다. 이 이미지에서 StackPanelCanvas는 열 및 행 기반 레이아웃 시스템을 사용하는 Grid 내에 중첩됩니다.

Controls - Layout Controls

다음 이미지에서는 Panorama 컨트롤 및 이 컨트롤을 사용하여 보기를 가로 콘텐츠로 제공하는 방법을 보여 줍니다.

Controls - Panorama

일반적으로 텍스트 컨트롤은 문자열 콘텐츠를 표시합니다. 목적에 따라 다양한 텍스트 컨트롤 형식이 있습니다. 자세한 내용은 빠른 시작: Windows Phone의 텍스트를 참조하세요. 다음 표에는 Windows Phone 앱용 텍스트 컨트롤이 나와 있습니다.

컨트롤

위치

참고

TextBlock

System.Windows 어셈블리

이 어셈블리를 사용하여 단순한 읽기 전용 텍스트 조각을 표시합니다. 콘텐츠는 Text 속성을 사용하여 설정합니다.

TextBox

System.Windows 어셈블리

일반적으로 짧은 텍스트 입력에 사용됩니다. 그러나 더 큰 복수 줄 텍스트 입력에도 사용할 수 있습니다. 콘텐츠는 Text 속성을 사용하여 설정합니다.

PasswordBox

System.Windows 어셈블리

텍스트를 사용자 입력으로 마스크합니다. 콘텐츠는 Password 속성을 사용하여 설정하고 PasswordChar 속성을 사용하여 마스크합니다.

다음 이미지에서는 텍스트 컨트롤을 보여 줍니다.

Controls - Text Controls

버튼 및 선택 컨트롤을 사용하여 사용자가 항목을 쉽게 선택하고 앱을 탐색할 수 있습니다. 대부분의 버튼 및 선택 컨트롤은 ContentControl에서 파생되며, 이는 Content 속성을 사용하여 콘텐츠를 컨트롤에 추가함을 의미합니다. Content 속성은 Object 형식이므로 콘텐츠 컨트롤에 포함될 수 있는 항목에는 몇 가지 제한이 있습니다. Object에서 파생되는 많은 클래스에는 다른 컨트롤이 포함될 수 있기 때문에 ContentControl에서 중첩된 콘텐츠를 만들 수 있습니다. 예를 들어, 버튼의Content 속성을 이미지와 텍스트가 포함된 StackPanel로 설정할 수 있습니다. 다음 표에는 버튼 컨트롤이 나와 있습니다.

컨트롤

위치

참고

Button

System.Windows 어셈블리

사용자 입력에 응답하고 Click 이벤트를 발생시키는 컨트롤입니다. 콘텐츠는 Content 속성을 사용하여 설정합니다.

HyperlinkButton

System.Windows 어셈블리

하이퍼링크를 표시하는 단추 컨트롤을 나타냅니다. HyperlinkButton을 클릭하면 같은 웹 앱 내의 웹 페이지 또는 현재 앱 외부에 있는 웹 페이지로 이동할 수 있습니다. 콘텐츠는 Content 속성을 사용하여 설정하고 이동할 URL은 NavigateUri 속성을 사용하여 설정합니다.

다음 표에는 사용자가 선택을 지정하는 데 사용할 수 있는 컨트롤이 나와 있습니다.

컨트롤

위치

참고

CheckBox

System.Windows 어셈블리

사용자가 선택하거나 선택을 취소할 수 있는 컨트롤을 나타냅니다. 확인란을 통해 선택적으로 미정 상태를 제공할 수 있습니다. 콘텐츠는 Content 속성을 사용하여 설정합니다.

RadioButton

System.Windows 어셈블리

옵션 목록에서 하나의 옵션을 선택할 수 있습니다. 라디오 버튼은 그룹화하면 다른 항목과 함께 사용할 수 없게 됩니다. 콘텐츠는 Content 속성을 사용하여 설정합니다.

Slider

System.Windows 어셈블리

사용자가 트랙을 따라 값 범위에서 선택할 수 있는 컨트롤을 나타냅니다. Value 속성은 트랙 위의 위치를 결정합니다.

다음 이미지에서는 버튼 및 선택 컨트롤을 보여 줍니다.

Controls - Button Selection

다음 표에는 항목 목록을 표시하는 데 사용할 수 있는 컨트롤이 나와 있습니다.

컨트롤

위치

참고

ListBox

System.Windows 어셈블리

사용자가 클릭하여 선택할 수 있는 항목 목록이 표시됩니다. 콘텐츠는 Items 또는 ItemsSource 속성을 사용하여 설정합니다. DataTemplate을 사용하여 각 항목의 모양을 사용자 지정할 수 있습니다.

참고참고:
Windows Phone 8 프로젝트에서 작업을 수행하는 경우 ListBox 컨트롤이 도구 상자에 표시되지 않습니다. Windows Phone 8 앱에서 ListBox 컨트롤을 사용할 수 있지만 LongListSelector 컨트롤이 항목 목록을 표시하기 위한 권장 컨트롤입니다.

LongListSelector

Microsoft.Phone 어셈블리

긴 데이터 목록을 그룹화, 표시 및 스크롤하려면 사용합니다. ScrollTo 메서드를 사용하여 목록에서 특정 항목으로 스크롤할 수 있습니다.

다음 이미지에서는 항목 목록을 표시하는 ListBox 컨트롤을 보여 줍니다.

Controls - List Controls

이미지, 지도 및 미디어 콘텐츠와 같은 리소스 표시는 Windows Phone 앱에 대한 리치 사용자 인터페이스를 빌드하는 중요한 부분입니다. 다음 표에는 이미지, 지도 및 미디어 파일과 같은 리소스를 표시하기 위한 컨트롤이 나와 있습니다.

컨트롤

위치

참고

Image

System.Windows 어셈블리

이미지를 표시합니다. 콘텐츠는 Source 속성을 사용하여 설정합니다. Windows Phone 앱은 PNG 및 JPG 이미지 형식을 지원합니다.

Map

Microsoft.Phone.Maps 어셈블리

지도를 표시합니다. 컨트롤을 도구 상자에서 앱으로 드래그할 수 있지만 런타임에 컨트롤이 제대로 표시되려면 앱에 대한 ApplicationID 및 AuthenticationToken을 가져와야 합니다. 자세한 내용은 Windows Phone 8에서 지도 컨트롤을 페이지에 추가하는 방법을 참조하세요. CenterZoomLevel 속성을 사용하여 지도를 가운데 정렬하고 확대/축소하는 방법을 제어합니다.

MediaElement

System.Windows 어셈블리

이 컨트롤을 사용하여 오디오 및 동영상을 재생합니다. 콘텐츠는 Source 속성을 사용하여 설정합니다. 성능상의 이유로 앱에서 사운드 효과를 재생하는 데는 이 컨트롤을 사용하면 안 됩니다. 대신에 XNA Framework SoundEffect 클래스를 사용하는 것이 좋습니다.

다음 이미지에서는 콘텐츠를 표시하는 Image, MapMediaElement 컨트롤을 보여 줍니다.

Controls - Image Map Media Controls

WebBrowser 컨트롤을 사용하여 앱에서 HTML을 표시할 수 있습니다. 다음 표에는 HTML을 표시하는 컨트롤이 나와 있습니다.

컨트롤

위치

참고

WebBrowser

Microsoft.Phone.Controls 어셈블리

렌더링된 HTML을 표시합니다. 콘텐츠는 Source 속성을 사용하여 설정합니다.

다음 이미지에서는 콘텐츠를 표시하는 WebBrowser 컨트롤을 보여 줍니다.

Controls - Web Browser Control

잘 디자인된 앱은 장기 작업에 대한 진행률 또는 오류 발생을 나타내는 메시지와 같은 피드백을 사용자에게 제공합니다. 다음 표에는 진행률 및 메시지를 사용자에게 표시하는 데 사용할 수 있는 컨트롤이 나와 있습니다.

컨트롤

위치

참고

ProgressBar

System.Windows 어셈블리

작업의 현재 진행률을 사용자에게 표시합니다. 이 컨트롤을 사용하여 특정 작업 진행률을 보고하거나 미정 모드에서 진행률을 표시할 수 있습니다.

Windows Phone OS 7.1 Windows Phone OS 7.1: 미정 모드에서 Windows Phone OS 7.1 을 대상으로 지정한 앱에 이 컨트롤을 사용하면 앱 성능이 저하될 수 있습니다. Microsoft에서는 PerformanceProgressBar라는 지원되지 않는 대안을 제공합니다. 자세한 내용은 사용자 지정 미정 진행률 표시줄 추가를 참조하세요.

Popup

System.Windows 어셈블리

콘텐츠를 기존 콘텐츠에 대한 오버레이로 표시합니다. 이 컨트롤은 특정 작업을 수행하는 콘텐츠를 일시적으로 표시하는 데 유용합니다. 일반적으로 UserControl을 만들고 PopupChild 속성으로 설정합니다. IsOpen 속성을 true로 설정하여 Popup 컨트롤을 표시합니다.

Popup 컨트롤에 대한 덜 유연한 대안은 MessageBox 구성 요소입니다.

다음 이미지에서는 일반 및 미정 모드에서 TextBlock, ButtonProgressBar를 포함하고 있는 Popup 컨트롤을 보여 줍니다.

Controls - Popup Progress

표시:
© 2015 Microsoft