Windows Phone 7에는 현재 Dark/Light 이렇게 2개의 테마가 있는데 아래 코드는 이 2개의 테마를 구분하는 다양한 코드입니다.
// Use PhoneDarkThemeVisibility
Visibility visibilityDark = (Visibility)Application.Current.Resources["PhoneDarkThemeVisibility"];
if (visibilityDark == Visibility.Visible)
{
    // Dark theme
}
else if (visibilityDark == Visibility.Collapsed)
{
    // Light theme
}

// Use PhoneLightThemeVisibility
Visibility visibilityLight = (Visibility)Application.Current.Resources["PhoneLightThemeVisibility"];
if (visibilityLight == Visibility.Collapsed)
{
    // Dark theme
}
else if (visibilityLight == Visibility.Visible)
{
    // Light theme
}

// Use PhoneLightThemeOpacity
double opacityDark = (double)Application.Current.Resources["PhoneDarkThemeOpacity"];
if (opacityDark == 1.0)
{
    // Dark theme
}
else if (opacityDark == 0.0)
{
    // Light theme
}

// Use PhoneLightThemeOpacity
double opacityLight = (double)Application.Current.Resources["PhoneLightThemeOpacity"];
if (opacityLight == 0.0)
{
    // Dark theme
}
else if (opacityLight == 1.0)
{
    // Light theme
}

// Use PhoneForegroundColor
Color colorForeground = (Color)Application.Current.Resources["PhoneForegroundColor"];
if (colorForeground.ToString() == "#FFFFFFFF")
{
    // Dark theme
}
else if (colorForeground.ToString() == "#DE000000")
{
    // Light theme
}

// Use PhoneBackgroundColor
Color colorBackground = (Color)Application.Current.Resources["PhoneBackgroundColor"];
if (colorBackground.ToString() == "#FF000000")
{
    // Dark theme
}
else if (colorBackground.ToString() == "#FFFFFFFF")
{
    // Light theme
}

Posted by Gungume
,
Windows Phone 7의 Theme는 Dark/Light 2개의 Background를 설정할 수 있고, 10개의 Accent color를 설정할 수 있습니다.

아래는 위의 값들을 얻어오는 방법과 각 값의 ARGB 색상정보입니다.

//Get background color
Color themeBackColor = (Color)Application.Current.Resources["PhoneBackgroundColor"];

//Get foreground color
Color themeForeColor = (Color)Application.Current.Resources["PhoneForegroundColor"];

//Get accent color
Color accentColor = (Color)Application.Current.Resources["PhoneAccentColor"];

Dark/Light theme에 따른 Background/Foreground 색상 정보
 Theme 종류  Background ARGB  Foreground ARGB
 Dark  #FF000000  #FFFFFFFF
 Light  #FFFFFFFF  #DE000000

Accent 색상 정보
 Accent color  ARGB
 magenta  #FFFF0097
 purple  #FFA200FF
 teal  #FF00ABA9
 lime  #FF8CBF26
 brown  #FFA05000
 pink  #FFE671B8
 orange  #FFF09609
 blue  #FF1BA1E2
 red  #FFE51400
 green  #FF339933


Posted by Gungume
,
Windows Phone 7 에뮬레이터에서 글씨를 입력하려면 기본적으로 SIP(Soft Input Panel)가 사용됩니다.

기존 Windows Mobile 6.5 에뮬레이터까지는 SIP와 상관없이 컴퓨터의 키보드를 이용해서 입력이 가능했는데 Windows Phone 7 에뮬레이터에서는 SIP 입력과 컴퓨터 키보드 입력이 토글로 설정됩니다.

SIP와 키보드간 토글은 Pause/Break키를 누를 때마다 변경됩니다. 즉, SIP가 뜬 상태에서 Pause/Break키를 누르면 SIP가 내려가는데 이때는 키보드를 이용해서 입력이 가능합니다.
( Pause/Break키 말고도 Page Up/Down 키를 이용해서 키보드를 On/Off 시킬 수 있습니다.)

키보드 입력 이외에 에뮬레이터에서 사용가능한 주요 키보드 키는 아래와 같습니다.
F1, F2, F3 : Windows Phone 7의 주요 하드웨어 키로서 각각 Back, Start, Search와 맵핑.
F7 : Camera 실행.
F9, F10 : Volume Up/Down

위에 언급한 것 이외에 다른 키와 자세한 정보는 아래 사이트에서 확인 가능합니다.

Keyboard Mapping for Windows Phone Emulator

Windows Phone 7 Emulator tips and tricks - Shortcut keys
Posted by Gungume
,
Windows Phone Developer Tools Beta를 설치하면 같이 설치되는 express 버전에서 개발을 하거나, vs2010 영문판을 이미 설치했다면 프로젝트 템플릿이 생성되므로 그것을 이용해서 개발이 가능합니다.

하지만 기본적으로 vs2010 한글판을 설치한 경우에는 Windows Phone Developer Tools Beta를 설치해도 템플릿이 나오지 않는데 아래 방법을 이용하면 vs2010 한글판에서도 Windows Phone 7 Beta 개발을 수행할 수 있습니다.
(아래에서 설명한 경로는 Windows 7 64bit에서 기본 설치경로로 설치했다는 가정하에서 설명합니다.)

1. 프로젝트 템플릿 생성
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplates\CSharp\Silverlight for Windows Phone\
위의 경로에 가시면 1033 이라는 폴더가 있는데 이것을 그대로 복사해서 폴더명을 1042로 변경합니다.

2. 아이템 템플릿 생성
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Silverlight for Windows Phone
위의 경로에 가시면 1033 이라는 폴더가 있는데 이것을 그대로 복사해서 폴더명을 1042로 변경합니다.

3. "시작 -> 모든 프로그램 -> Microsoft Visual Studio 2010 -> Visual Studio Tools -> Visual Studio 명령 프롬프트(2010)"를 실행 하면 나오는 명령 프롬프트 창에서 아래 2줄의 명령어 입력.
devenv.exe /installvstemplates 
devenv.exe /setup 

4. 실행했던 명령 프롬프트 종료 후에 Visual Studio 2010 한글판을 실행하면 아래 화면과 같이 템플릿이 추가된 것을 볼 수 있습니다.

ProjectTemplates

ProjectTemplates


ItemTemplates

ItemTemplates



Posted by Gungume
,
Windows Mobile에서 SIP(Keyboard)가 자동으로 팝업되는 것을 해제하는 레지스트리 코드입니다.

레지스트리 경로
[HKEY_CURRENT_USER\ControlPanel\Sip\]

설정 값
(DWORD)TurnOffAutoDeploy=1
(값을 1로 설정하면 자동팝업 해제)
Posted by Gungume
,
Posted by Gungume
,

Windows Mobile에서 설정(Settings) -> 시스템(System) -> 프로그램 제거(Remove Programs)에서 프로그램을 지웠는데 목록이 남아있는 경우가 있습니다.


이 경우에는 우선 아래의 절차를 거쳐서 프로그램의 잔존 파일과 레지스트리 정보를 제거해 줍니다.


  1. 프로그램이 설치된 폴더 수동으로 삭제.
    (
    폴더 경로를 모르는 경우 4번 레지스트리 정보를 참조하시면 알 수 있습니다.)

  2. \Windows\Start Menu\Programs 경로에 해당 프로그램과 관련돼서 등록된 파일이 있으면 삭제.

  3. \Windows\AppMgr 폴더에서 해당 프로그램에 맞는 폴더 삭제.

  4. [HKEY_LOCAL_MACHINE\Security\AppInstall] 레지스트리 위치에서 해당 프로그램에 맞는 레지스트리키 삭제.

  5. [HKEY_LOCAL_MACHINE\Software\App] 레지스트리 위치에서 해당 프로그램에 맞는 레지스트리키 삭제.


Windows Mobile 6까지는 4, 5번의 레지스트리 정보를 지워주면 목록에서 사라지는 것으로 알고 있습니다.


6.1 버전부터는 관련 정보가 DB에 저장되는것 같은데, 위의 절차를 거친 이후에도 목록이 남아 있다면 MemMaid라는 프로그램을 이용해서 아래의 절차를 거치시면 제거가 됩니다.

(http://www.dinarsoft.com/memmaid/ -> 이곳에서 다운로드 가능하고 15일 트라이얼로 사용 가능합니다.)


  1. 프로그램 실행 후 Jump To(menu) -> Databases -> Database Usage 선택.

  2. 트리 메뉴에서 \mxip_swmgmt.vol -> SwMgmtMetadataStore 선택후 Browse 버튼 선택.

  3. 리스트 중 삭제하고 싶은 항목 선택 후 Database -> Delete Selected record 선택.


좀 더 알아봐야겠지만 테스트하고 인터넷 자료 검색한 결과로는 6.1 버전부터 데이터베이스에 관련 정보를 저장하는 것 같습니다.

 

실제로 6.0 버전의 에뮬레이터에서는 레지스트리 정보만 삭제하면 프로그램 제거 목록에서 사라졌었고, SKTools, Pocket Mechanic 등의 프로그램에서도 레지스트리 정보를 참고해서 프로그램이 동작하는 것을 확인했습니다.

 


참고한 사이트는 아래와 같습니다.

http://social.microsoft.com/Forums/en-US/windowsmobile/thread/7bad6dc7-d042-4bc2-8516-c9eeaeb5af58/#page:3


http://forum.xda-developers.com/showthread.php?t=486076

Posted by Gungume
,
Windows Mobile 6.5 Developer Tool Kit 다운로드

2009.06.03에 릴리즈됨.
글 올리는 시점에서 한글버전 없음.

2009.06.18 추가내용
SDK가 아닌 DTK라는 명칭의 사용은 기존 6.0 버전의 SDK를 기본으로 사용하고 6.5에서는 추가로 emulators, gesture APIs, samples만 제공하기 때문이라고 "Windows Mobile Team Blog" 에 써있음...

SDK, DTK, DRK: WTF?! -> 클릭시 원문으로 이동~
Posted by Gungume
,

Windows Mobile 6 프로그래밍을 위해서 받아야 할 자료들의 다운로드 페이지...

Windows Mobile 6 Professional and Standard Software Development Kits Refresh

  • Windows Mobile 6로서 Professional 버전은 PDA에 해당되고, Standard 버전은 SmartPhone에 해당된다.

Windows Mobile 6 Localized Emulator Images

  • SDK를 설치 후에 VisualStudio에서 실행가능한 Emulator의 경우는 기본적으로 영문인데 한국어를 사용하기 위해서는 위의 링크를 통해서 한국어 이미지를 받아야한다.
  • Professional 버전과 Standard 버전 각각 다운로드

ActiveSync 4.5 - 한국어

  • 모바일 기기와 PC와 연결을 하기 위한 프로그램으로 실제 모바일 기기와 Emulator 모두 연결가능

Windows Vista용 Windows Mobile Device Center 6.1 (32비트)
Windows Vista용 Windows Mobile Device Center 6.1 (64비트)

  • 위의 ActiveSync와 같은 프로그램으로서 Vista용이다.
Posted by Gungume
,