0

내 앱 막대 아이콘 버튼 (PhoneFlipMenu 도구와 유사 함) 중 하나에 대한 맞춤 팝업 메뉴를 구현하려고합니다. 나는 그것을 위해 수직 StackPanel을 사용하고 있습니다WP8에서 앱 막대의 효과적인 배경색 가져 오기

void appBarIconButtonList_Click(object sender, EventArgs e) 
{ 
    popupMenuListCommands.Visibility = Visibility.Visible; 
    ApplicationBar.IsVisible = false; 
} 

2 문제가 있습니다 : 사용자가 응용 프로그램 모음 버튼을 누를 때

<StackPanel x:Name="popupMenuListCommands" Grid.Row="1" 
      Orientation="Vertical" VerticalAlignment="Bottom" 
      Background="{StaticResource PhoneDisabledBrush}" 
      Visibility="Collapsed"> 
    <TextBlock Text="menu item 1" Style="{StaticResource PopupMenuListCommand}" /> 
    <TextBlock Text="menu item 2" Style="{StaticResource PopupMenuListCommand}" /> 
</StackPanel> 

그것은 표시됩니다

1) 방법 응용 프로그램 막대의 효과적인 색상을 검색하여 스택 패널에서 사용할 수 있습니까? ApplicationBar.BackgroundColor는 # 00000000을 반환하지만 앱 막대 배경의 효과적인 색상은 분명히 아닙니다. 예를 들어 어두운 전화 테마가 켜지면 어두운 회색이됩니다.

이 색상을 동적으로 검색 할 수없는 경우 어둡고 흰색 인 테마에 2 가지 색상 값을 하드 코딩해야합니다. 그렇다면 그들의 가치관은 무엇인가?

2) 이전 단계에서 검색 한 색상을 사용하여 스택 패널을 투명하지 않게 만드는 방법은 무엇입니까? 이제 백그라운드 브러시를 명시 적으로 지정하더라도 기본 콘텐트가 표시됩니다.

답변

0

"PhoneChromeBrush"라는 앱 리소스에서 애플리케이션 바 색상을 가져올 수 있습니다. 스택 패널 배경을이 브러시로 설정하면됩니다.

<StackPanel x:Name="popupMenuListCommands" Grid.Row="1" 
     Orientation="Vertical" VerticalAlignment="Bottom" 
     Background="{StaticResource PhoneChromeBrush}" 
     Visibility="Collapsed"> 
<TextBlock Text="menu item 1" Style="{StaticResource PopupMenuListCommand}" /> 
<TextBlock Text="menu item 2" Style="{StaticResource PopupMenuListCommand}" /> 

당신이 전화 어둡거나 밝은 테마에 대해 걱정할 필요가 없습니다이 방법

.

1

앱 표시 줄은 테마에 따라 기본 전화 색을 사용합니다. 그래서, 대신 응용 프로그램 막대 색상을 사용하지 않는 이유는 기본 테마 색상을 사용합니까? 그것은 또한 똑같이 할 것입니다. http://www.jeff.wilcox.name/2012/01/phonethememanager/이 도움이 될 것입니다.

어두운 테마의 경우 색은 rgb (31, 31, 31)입니다. 밝은 테마의 경우 색상은 rgb (221,221,221)입니다.

희망이 도움이되었습니다. 건배

+1

Dacian Mujdar의 답변보기 - 그는 보편적 인 해결책을 제안했습니다. – TecMan