標準のPivotなどを使うとページ内のコントロールをフリックできないなどの不便を感じることがあります。
今回紹介するLockablePivotはロックすることでフリックしてもページ遷移しないPivotを作成することが可能にするコントロールです。
HubTileを利用するには「Silverlight for Windows Phone Toolkit」が必要です。
インストーラー形式でもNuGetでも導入可能です。(インストール方法解説はこちら)
続いてxmlnsの追加
xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
これで導入準備完了。
xamlコードは以下のような感じ。ほぼ通常のPivotと同じです。
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<toolkit:LockablePivot x:Name="pivot" >
<controls:PivotItem Header="Page1">
<TextBlock Text="ページ1です"></TextBlock>
</controls:PivotItem>
<controls:PivotItem Header="Page2">
<TextBlock Text="ページ2です"></TextBlock>
</controls:PivotItem>
<controls:PivotItem Header="Page3">
<TextBlock Text="ページ3です"></TextBlock>
</controls:PivotItem>
</toolkit:LockablePivot>
<Button Content="ロックする" Height="72" HorizontalAlignment="Left" Margin="139,544,0,0" Name="button1" VerticalAlignment="Top" Width="226" Click="button1_Click" />
</Grid>
続いてボタンを押してロックする処理を実装。
private void button1_Click(object sender, RoutedEventArgs e)
{
if (this.pivot.IsLocked == false)
{
this.pivot.IsLocked = true;
var button = sender as Button;
button.Content = "解除する";
}
else
{
this.pivot.IsLocked = false;
var button = sender as Button;
button.Content = "ロックする";
}
}
XAML上でIsLockedを設定しようとエラーになった・・・
Please give us your valuable comment