2Dゲームは終わらない

プログラミング超初心者がUnityとかXamarinとか触ってみる

Xamarin FormsのTabbedPageでページを分割する

Xamarin FormsでTabbedPageを使いたかったけれども、サンプルを見てもMainPageに全部直書きしているようなものしかなくて、ファイルを分割して参照するようにしたいんだけどなーと思って探していたら、ようやくわかったのでメモします。

MainPage.xaml

<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
 xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
 xmlns:local="clr-namespace:Babylia;assembly=Babylia"
 x:Class="Babylia.MainPage">
 <!--Pages can be added as references or inline-->
 <TabbedPage.Children>
 <local:Page1 />
 <local:Page2 />
 </TabbedPage.Children>
</TabbedPage>

こうすることで、Page1とかPage2を別でContentPageか何かで作っておけば、呼び出すことが出来ます。
ポイントは上部でxmlns:localを宣言して、実際にページを並べたい箇所でのよう呼び出すこと。

Page1.xaml

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="Babylia.Page1"
             Title="TabPage1"
             Icon="icon.png">
    <ContentPage.Content>
        <StackLayout>
            <Label Text="Welcome to Xamarin Forms!" />
        </StackLayout>
    </ContentPage.Content>
</ContentPage>

Page1.xamlはContentPageをただ追加しただけの状態です。
TitleやIconを追加すれば、Tabの中にタイトルやアイコンを表示することも出来ます。

f:id:taris777:20170806151719p:plain

(アイコンに用意した画像のサイズが小さすぎてアイコンめちゃ小さい・・・)


プログラミングXamarin 上 Xamarin.FormsとC#によるクロスプラットフォームモバイルアプリ開発 (マイクロソフト公式解説書)