2013-07-15 2 views
0

휴대 전화의 색상 테마를 항상 흰색으로 덮어 쓰는 WP8 앱을 작성 중입니다. 사람들이이 결정에 대해 나를 믿지 않기 전에, 응용 프로그램 자체는 응용 프로그램과 같은 메신저로되어 있으며, 흰색 배경은 모든 것을 읽기 쉽게 만듭니다. 미래에는 사람들이 배터리 수명이 중요 할 때를 대비하여 사람들이 흑인과 백인을 선택할 수 있도록하고 싶지만이 장애물을 먼저 극복해야합니다.WP8 응용 프로그램 막대 뒤의 색상 변경

현재 문제는 테마 색상을 재정의 한 후에도 응용 프로그램 표시 줄이 변경을 거부한다는 것입니다. 저는 응용 프로그램 막대의 배경색에 대해 말하는 것이 아니라 응용 프로그램 막대 뒤에 그려진 사각형을 화면 하단에서 위쪽으로 튀어 나오도록 애니메이션으로 나타냅니다. 그것은 매우 눈에 띄며 약 1 초간 만 나타난다하더라도 조용하고 짜증납니다.

Office, Google Mail 및 Skype와 같은 응용 프로그램이 모두 색 테마를 무시하고 대신 흰색 테마를 구현하므로 이러한 문제가 발생하지 않는다는 것을 알고 있습니다.

누구든지 도움이된다면 도움이 될 것입니다.

+0

:

여기에 관심있는 사람들을위한 코드입니다. 어떻게 배경을 설정하고 있습니까? –

+0

모든 기본 테마 색상을 재정의하기 위해 리소스 병합을 수행하여 배경색을 변경하고 있습니다. 나도 이걸 시도해 봤어. 배경 = 새 시스템. 윈도우. 미디어. 솔리드 컬러 버들 (Colors.White). 그러나 그것도 작동하지 않았다. 이 문제는 시스템 테마가 검은 색으로 설정된 경우에만 표시됩니다. – idunnololz

+0

내 phoneapplicationpages의 배경 이미지가 있습니다. 어쩌면 그것이 내게 기본 테마 색상을 표시하지 않는 이유 일 수 있습니다. –

답변

1

해결책을 찾았지만 아주 좋은 것은 아닙니다. 누구든지 더 나은 해결책을 찾으면 알려주십시오.

응용 프로그램 막대의 불투명도를 1이 아닌 1 (나는 0.99로 설정) 근처로 설정하여이 문제를 해결했습니다. 이렇게하면 창에 크기가 조정되지 않게됩니다 (검정색 배경의 원인 임).

그런 다음 해당 페이지의 아래쪽 여백을 응용 프로그램 막대의 높이로 설정합니다. 나는 내 자신의 응용 프로그램에서이 문제가없는

private void panoramaMain_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    Panorama p = (Panorama) sender; 
    if(p.SelectedIndex == 1) { 
     messageList.Margin = new Thickness(0, 0, 0, ApplicationBar.DefaultSize); 
     ApplicationBar.IsVisible = true; 
    } else { 
     messageList.Margin = new Thickness(0, 0, 0, 0); 
     ApplicationBar.IsVisible = false; 
    } 
} 
관련 문제