Pivot で、ApplicationBar を動的に変更する


環境 Windows Phone 7

リソースにApplicationBar を定義する

<phone:PhoneApplicationPage
    x:Class=”CameraTF.PivotSettings”
    xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation”
    xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml”
    xmlns:phone=”clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone”
    xmlns:shell=”clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone”
    xmlns:controls=”clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls”
    xmlns:d=”http://schemas.microsoft.com/expression/blend/2008″
    xmlns:mc=”http://schemas.openxmlformats.org/markup-compatibility/2006″
    mc:Ignorable=”d” d:DesignWidth=”728″ d:DesignHeight=”480″
    FontFamily=”{StaticResource PhoneFontFamilyNormal}”
    FontSize=”{StaticResource PhoneFontSizeNormal}”
    Foreground=”{StaticResource PhoneForegroundBrush}”
    SupportedOrientations=”PortraitOrLandscape”  Orientation=”Landscape”
    shell:SystemTray.IsVisible=”True”>

<Grid x:Name=”LayoutRoot” Background=”Transparent”>
     <Grid.Resources>
         <shell:ApplicationBar x:Key=”AppBar1″ IsVisible=”True” IsMenuEnabled=”True”>
             <shell:ApplicationBarIconButton IconUri=”/icons/appbar.save.rest.png” Text=”Save” Click=”ApplicationBarIconButtonSave_Click”/>
             <shell:ApplicationBarIconButton IconUri=”/icons/appbar.back.rest.png” Text=”Cancel” Click=”ApplicationBarIconButtonBack_Click”/>
         </shell:ApplicationBar>
         <shell:ApplicationBar x:Key=”AppBar2″ IsVisible=”True” IsMenuEnabled=”True”>
             <shell:ApplicationBarIconButton IconUri=”/icons/appbar.back.rest.png” Text=”Cancel” Click=”ApplicationBarIconButtonBack_Click”/>
         </shell:ApplicationBar>
     </Grid.Resources>
     <!–ピボット コントロール–>
     <controls:Pivot x:Name=”Setting” Title=”{Binding Path=LocalizedResources.Title, Source={StaticResource LocalizedStrings}}”  SelectionChanged=”Pivot_SelectionChanged_1″>

・・・

SelectionChanged イベントで切り替える。

private void Pivot_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    switch (((Microsoft.Phone.Controls.Pivot)(sender)).SelectedIndex)
    {
        case 0:
            ApplicationBar = (ApplicationBar)(this.LayoutRoot.Resources[“AppBar1”]);
            break;
        case 1:
            ApplicationBar = (ApplicationBar)(this.LayoutRoot.Resources[“AppBar2”]);
            break;
・・・
    }
}

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中


%d人のブロガーが「いいね」をつけました。