Windows Phone 8.1 アプリのハブ要素に別の CommandBars (AppBars) を追加するにはどうすればよいですか? ハブ セクションごとに異なる CommandBar を使用したいのですが、ハブ セクションで CommandBar を宣言できません。そのため、ハブで使用できる CommandBar は 1 つだけです。
1456 次
1 に答える
1
4 つ以上の AppBarButton を作成して非表示にし、ハブ セクションごとに Visibility プロパティを変更できます。メニューボタンも同様。
サンプル:
<Page.BottomAppBar>
<CommandBar>
<CommandBar.PrimaryCommands>
<AppBarButton x:Uid="Quick" Name="QuickAppBarButton" Label="quick" Icon="Pin" Click="AppBarButton_Click"/>
<AppBarButton x:Uid="Quick" Name="AddAppBarButton" Label="add" Icon="Add" Click="AppBarButton_Click"/>
<AppBarButton x:Uid="Quick"
Name="CalcAppBarButton"
Label="calculator"
Icon="Calculator"
Click="AppBarButton_Click" />
</CommandBar.PrimaryCommands>
<CommandBar.SecondaryCommands>
<AppBarButton x:Uid="Accounts" Name="AccountsSecondaryButton" Label="accounts" Click="AccountsSecondaryButton_Click"/>
<AppBarButton x:Uid="CurrencyMenu" Name="CurrencySecondaryButton" Label="currency" Click="CurrencySecondaryButton_Click"/>
<AppBarButton x:Uid="Categories" Label="categories"/>
<AppBarButton x:Uid="Settings" Label="settings" Name="SettingsSecondaryButton" Click="SettingsSecondaryButton_Click"/>
<AppBarButton x:Uid="Tutorials" Label="tutorials"/>
<AppBarButton x:Uid="About" Label="about"/>
</CommandBar.SecondaryCommands>
</CommandBar>
</Page.BottomAppBar>
C# ファイル (セクションごとに名前を設定する必要があります):
private void CoinsHub_SectionsInViewChanged(object sender, SectionsInViewChangedEventArgs e)
{
if(CoinsHub.SectionsInView[0] == TransactionsHubSection)
{
QuickAppBarButton.Visibility = Visibility.Collapsed;
AddAppBarButton.Visibility = Visibility.Visible;
CalcAppBarButton.Visibility = Visibility.Collapsed;
}
else if (CoinsHub.SectionsInView[0] == OverviewHubSection)
{
QuickAppBarButton.Visibility = Visibility.Visible;
AddAppBarButton.Visibility = Visibility.Collapsed;
CalcAppBarButton.Visibility = Visibility.Collapsed;
}
else
{
QuickAppBarButton.Visibility = Visibility.Collapsed;
AddAppBarButton.Visibility = Visibility.Visible;
CalcAppBarButton.Visibility = Visibility.Visible;
}
}
于 2014-05-21T13:55:37.957 に答える