アプリ バー アイコン ボタン ( PhoneFlipMenuツールなど) の 1 つにカスタム ポップアップ メニューを実装しようとしています。そのために垂直 StackPanel を使用しています。
<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>
ユーザーがアプリ バー ボタンを押すと表示されます。
void appBarIconButtonList_Click(object sender, EventArgs e)
{
popupMenuListCommands.Visibility = Visibility.Visible;
ApplicationBar.IsVisible = false;
}
2 つの問題があります。
1) アプリケーション バーの有効な色を取得して、スタック パネルで使用するにはどうすればよいですか? ApplicationBar.BackgroundColor は #00000000 を返しますが、明らかにアプリ バーの背景の有効な色はこれではありません。たとえば、暗い電話のテーマがオンの場合は暗い灰色です。
この色を動的に取得できない場合は、おそらく、暗いテーマと白いテーマの 2 つの色の値をハード コードするだけで済みます。次に問題は、それらの値は何ですか?
2) 前のステップで取得した色を使用して、スタック パネルを非透明にする方法は? 背景ブラシを明示的に指定しても、その下にメイン コンテンツが表示されるようになりました。