XAML in Xamarin.Forms 基礎篇 電子書

XAML in Xamarin.Forms 基礎篇 電子書
XAML in Xamarin.Forms 基礎篇 電子書

Xamarin.Forms 快速入門 電子書

Xamarin.Forms 快速入門 電子書
Xamarin.Forms 快速入門 電子書

2016/10/19

Xamarin.Forms 導航頁面的工具列按鈕與按鈕圖片

若現在設計的 ContentPage 頁面是具有可導航的特性,此時,可以使用 ContentPage.ToolbarItems 這個 Property Element 來定義這個頁面可以使用那些工具列按鈕。
參考專案
https://github.com/vulcanlee/XF-Course/tree/master/TBIVideoLabImg

了解更多關於 [Xamarin.Android] 的使用方式
了解更多關於 [Xamarin.iOS] 的使用方式
了解更多關於 [Xamarin.Forms] 的使用方式
了解更多關於 [Hello, Android:快速入門] 的使用方式
了解更多關於 [Hello, iOS – 快速入門] 的使用方式
了解更多關於 [Xamarin.Forms 快速入門] 的使用方式

在底下定義中,定義了三個工具列按鈕,前兩個設定為會顯示在主要工具列上,後者則則會顯示在次要工具列上;在三個不同平台上的執行效過如底下截圖。
    <ContentPage.ToolbarItems>
        <ToolbarItem Text="OK" Clicked="ToolbarItem_Clicked"/>
        <ToolbarItem Text="取消" Command="{Binding 取消Command}"/>
        <ToolbarItem Text="Other" Command="{Binding OtherCommand}" Order="Secondary" />
    </ContentPage.ToolbarItems>
Android

iOS

UWP

從上面的三個平台跑出來的結果,發現到 UWP 平台的工具列按鈕預設不會出現,這個時候,請使用 ToolbarItem 的 Icon 屬性,設定每個 ToolbarItem 要顯示的圖示圖片。
在下面的 XAML 宣告,使用了 <OnPlatform x:TypeArguments="FileImageSource" ,分別定義了三個平台需要使用 FileImageSource 要用到的 Icon 名稱。
    <ContentPage.ToolbarItems>
        <ToolbarItem Text="OK" Clicked="ToolbarItem_Clicked">
            <ToolbarItem.Icon>
                <OnPlatform x:TypeArguments="FileImageSource"
                           iOS="OK.png" Android="OK.png" WinPhone="Assets/OK.png" />
            </ToolbarItem.Icon>
        </ToolbarItem>
        <ToolbarItem Text="取消" Command="{Binding 取消Command}">
            <ToolbarItem.Icon>
                <OnPlatform x:TypeArguments="FileImageSource"
                           iOS="Cancel.png" Android="Cancel.png" WinPhone="Assets/Cancel.png" />
            </ToolbarItem.Icon>
        </ToolbarItem>
        <ToolbarItem Text="Other" Command="{Binding OtherCommand}" Order="Secondary" >
            <ToolbarItem.Icon>
                <OnPlatform x:TypeArguments="FileImageSource"
                           iOS="Other.png" Android="Other.png" WinPhone="Assets/Other.png" />
            </ToolbarItem.Icon>
        </ToolbarItem>
    </ContentPage.ToolbarItems>
底下是工具列按鈕有設定圖片之後的執行截圖
Android

iOS

UWP

8 則留言:

  1. 請問在iOS中要如何讓 MasterDetailPage 也有Title? 謝謝!
    我現在用的是 MasterDetailPage.ToolbarItems,Title會不見




    ...



    回覆刪除
    回覆
    1. 在 Detail 中,需要設定為 new NavigationPage(Your ContentPage),這樣,就會在上方出現工具列與該頁面的 Title 了

      刪除
    2. 可以了,謝謝您!

      刪除
    3. 加油

      有問題歡迎隨時來一起討論與成長

      刪除
  2. 不好意思,再請教一個問題,我在 ToolbarItem 裡設定Icon的圖會被改成藍色,有辦法顯示原圖的顏色嗎? 謝謝!

    回覆刪除
    回覆
    1. 是在什麼平台下有這樣的問題呢?

      刪除
    2. 是在iOS平台有這樣的問題喔!

      刪除
  3. 作者已經移除這則留言。

    回覆刪除