次の方法で共有


Windows での TabbedPage アイコン

このユニバーサル Windows プラットフォームのプラットフォーム固有設定により、ページ アイコンが TabbedPage ツールバーに表示されるようになり、必要に応じてアイコン サイズを指定できるようになります。 TabbedPage.HeaderIconsEnabled 添付プロパティを true に設定し、必要に応じて TabbedPage.HeaderIconsSize 添付プロパティを値 Size に設定することで、XAML で使用されます。

<TabbedPage ...
            xmlns:windows="clr-namespace:Xamarin.Forms.PlatformConfiguration.WindowsSpecific;assembly=Xamarin.Forms.Core"
            windows:TabbedPage.HeaderIconsEnabled="true">
    <windows:TabbedPage.HeaderIconsSize>
        <Size>
            <x:Arguments>
                <x:Double>24</x:Double>
                <x:Double>24</x:Double>
            </x:Arguments>
        </Size>
    </windows:TabbedPage.HeaderIconsSize>
    <ContentPage Title="Todo" IconImageSource="todo.png">
        ...
    </ContentPage>
    <ContentPage Title="Reminders" IconImageSource="reminders.png">
        ...
    </ContentPage>
    <ContentPage Title="Contacts" IconImageSource="contacts.png">
        ...
    </ContentPage>
</TabbedPage>

あるいは、Fluent API を使用して C# から使用することもできます。

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
...

public class WindowsTabbedPageIconsCS : Xamarin.Forms.TabbedPage
{
  public WindowsTabbedPageIconsCS()
  {
    On<Windows>().SetHeaderIconsEnabled(true);
    On<Windows>().SetHeaderIconsSize(new Size(24, 24));

    Children.Add(new ContentPage { Title = "Todo", IconImageSource = "todo.png" });
    Children.Add(new ContentPage { Title = "Reminders", IconImageSource = "reminders.png" });
    Children.Add(new ContentPage { Title = "Contacts", IconImageSource = "contacts.png" });
  }
}

TabbedPage.On<Windows> メソッドでは、このプラットフォーム固有設定がユニバーサル Windows プラットフォームでのみ実行されるように指定します。 Xamarin.Forms.PlatformConfiguration.WindowsSpecific 名前空間では、TabbedPage.SetHeaderIconsEnabled メソッドが、ヘッダー アイコンのオンとオフを切り替えるために使用されます。 TabbedPage.SetHeaderIconsSize メソッドは、必要に応じて、ヘッダー アイコンのサイズを Size の値で指定します。

さらに、TabbedPage 名前空間の Xamarin.Forms.PlatformConfiguration.WindowsSpecific クラスには、ヘッダー アイコンを有効にする EnableHeaderIcons メソッド、ヘッダー アイコンを無効にする DisableHeaderIcons メソッド、ヘッダー アイコンが有効かどうかを示す値 boolean を返す IsHeaderIconsEnabled メソッドもあります。

その結果、ページ アイコンは TabbedPage ツール バーに表示されるようになり、アイコンのサイズは必要に応じて目的のサイズに設定されます。

プラットフォーム固有の TabbedPage アイコンが有効になりました