介紹
Xamarin.Forms ToolbarItem類是一種特殊的按鈕類型,可以添加到Page對象的ToolbarItems集合中,每個ToolbarItem對象將在應用程序的導航欄中顯示為按鈕,ToolbarItem實例可以具有一個圖標,並顯示為主菜單或輔助菜單項,ToolbarItem類從MenuItem繼承。
以下屏幕截圖顯示了iOS和Android上導航欄中的ToolbarItem對象:
ToolbarItem類定義以下屬性:
- Order是一個ToolbarItemOrder枚舉值,它確定ToolbarItem實例是顯示在主菜單還是輔助菜單中。
- Priority是一個整數值,用於確定Page對象的ToolbarItems集合中項目的顯示順序。
ToolbarItem類從MenuItem類繼承以下通常使用的屬性:
- Command是一個ICommand,它允許將用戶動作(例如,手指輕擊或單擊)綁定到在視圖模型上定義的命令。
- CommandParameter是一個對象,它指定應傳遞給Command的參數。
- IconImageSource是一個ImageSource值,該值確定ToolbarItem對象上的顯示圖標。
- Text是確定ToolbarItem對象上顯示文本的字符串。
這些屬性由BindableProperty對象支持,因此ToolbarItem實例可以成為數據綁定的目標。
注:從ToolbarItem對象創建工具欄的另一種方法是將NavigationPage.TitleView附加屬性設置為包含多個視圖的布局類。 有關更多信息,請參見在導航欄中顯示視圖。
創建一個ToolbarItem
可以在XAML中實例化ToolbarItem對象,可以設置Text和IconImageSource屬性來確定按鈕在導航欄中的顯示方式。 下面的示例演示如何實例化具有一些公共屬性集的ToolbarItem,並將其添加到ContentPage的ToolbarItems集合中:
<ContentPage.ToolbarItems> <ToolbarItem Text="Example Item" IconImageSource="example_icon.png" Order="Primary" Priority="0" /> </ContentPage.ToolbarItems>
定義按鈕行為
ToolbarItem類從MenuItem類繼承Clicked事件,可以將事件處理程序附加到Clicked事件,以響應XAML中對ToolbarItem實例的點擊或單擊:
<ToolbarItem ... Clicked="OnItemClicked" />
ToolbarItem對象還可以使用Command和CommandParameter屬性來響應用戶輸入,而無需事件處理程序。 有關ICommand接口和MVVM數據綁定的更多信息,請參見Xamarin.Forms MenuItem MVVM行為。
主要和次要菜單
ToolbarItemOrder枚舉具有Default,Primary和Secondary值。
當Order屬性設置為Primary時,ToolbarItem對象將出現在所有平台的主導航欄中。 ToolbarItem對象的優先級高於頁面標題Title,頁面標題將被截斷以為項目騰出空間。 以下屏幕截圖顯示了iOS和Android上主菜單中的ToolbarItem對象:
當Order屬性設置為Secondary時,行為在平台之間會有所不同。 在UWP和Android上,“輔助項目”菜單顯示為三個點,可以點擊或單擊這些點以在垂直列表中顯示項目。 在iOS上,“輔助項目”菜單作為水平列表顯示在導航欄下方。 以下屏幕截圖顯示了iOS和Android上的輔助菜單:
注:在其Order屬性設置為Secondary的ToolbarItem對象中,圖標行為在各個平台之間不一致,避免在輔助菜單中顯示的項目上設置IconImageSource屬性。