Xamarin.Forms ToolbarItem
Třída Xamarin.FormsToolbarItem
je speciální typ tlačítka, které lze přidat do Page
kolekce objektu ToolbarItems
. Každý ToolbarItem
objekt se zobrazí jako tlačítko v navigačním panelu aplikace. Instance ToolbarItem
může mít ikonu a může se zobrazit jako primární nebo sekundární položka nabídky. Třída ToolbarItem
dědí z MenuItem
.
Následující snímky obrazovky zobrazují ToolbarItem
objekty na navigačním panelu v iOSu a Androidu:
Třída ToolbarItem
definuje následující vlastnosti:
Order
je hodnota výčtuToolbarItemOrder
, která určuje, zdaToolbarItem
se instance zobrazí v primární nebo sekundární nabídce.Priority
integer
je hodnota, která určuje pořadí zobrazení položek vPage
kolekci objektuToolbarItems
.
Třída ToolbarItem
dědí z třídy následující obvykle používané vlastnosti MenuItem
:
Command
je akceICommand
uživatele, jako jsou klepnutí prstem nebo kliknutí, k příkazům definovaným v modelu viewmodel.CommandParameter
je parametrobject
, který má být předán do objektuCommand
.IconImageSource
ImageSource
je hodnota, která určuje ikonu zobrazení objektuToolbarItem
.Text
je objekt,string
který určuje zobrazovaný textToolbarItem
.
Tyto vlastnosti jsou podporovány BindableProperty
objekty, takže ToolbarItem
instance může být cílem datových vazeb.
Poznámka:
Alternativou k vytvoření panelu nástrojů z ToolbarItem
objektů je nastavení NavigationPage.TitleView
připojené vlastnosti ke třídě rozložení, která obsahuje více zobrazení. Další informace naleznete v tématu Zobrazení na navigačním panelu.
Vytvoření prvku ToolbarItem
Objekt ToolbarItem
lze vytvořit instanci v xaml. Vlastnosti Text
a IconImageSource
vlastnosti lze nastavit tak, aby bylo možné určit, jak se tlačítko zobrazuje na navigačním panelu. Následující příklad ukazuje, jak vytvořit instanci s některými běžnými ToolbarItem
sadami vlastností a přidat ho do ContentPage
ToolbarItems
kolekce:
<ContentPage.ToolbarItems>
<ToolbarItem Text="Example Item"
IconImageSource="example_icon.png"
Order="Primary"
Priority="0" />
</ContentPage.ToolbarItems>
Výsledkem tohoto příkladu ToolbarItem
bude objekt, který obsahuje text, ikonu a zobrazí se jako první v primární oblasti navigačního panelu. Můžete ToolbarItem
také vytvořit kód a přidat ho ToolbarItems
do kolekce:
ToolbarItem item = new ToolbarItem
{
Text = "Example Item",
IconImageSource = ImageSource.FromFile("example_icon.png"),
Order = ToolbarItemOrder.Primary,
Priority = 0
};
// "this" refers to a Page object
this.ToolbarItems.Add(item);
Soubor reprezentovaný string
jako vlastnost , IconImageSource
musí existovat v každém projektu platformy.
Poznámka:
Prostředky obrázků se na jednotlivých platformách zpracovávají odlišně. Zdroj ImageSource
může pocházet ze zdrojů, včetně místního souboru nebo vloženého prostředku, identifikátoru URI nebo datového proudu. Další informace o nastavení IconImageSource
vlastnosti a obrázků v Xamarin.Formsnaleznete v tématu Obrázky v Xamarin.Forms.
Definovat chování tlačítka
Třída ToolbarItem
dědí Clicked
událost z MenuItem
třídy. Obslužná rutina události může být připojena k Clicked
události, aby reagovala na klepnutí nebo kliknutí na ToolbarItem
instance v XAML:
<ToolbarItem ...
Clicked="OnItemClicked" />
Obslužnou rutinu události lze připojit také v kódu:
ToolbarItem item = new ToolbarItem { ... }
item.Clicked += OnItemClicked;
Předchozí příklady odkazovaly na obslužnou rutinu OnItemClicked
události. Následující kód ukazuje ukázkovou implementaci:
void OnItemClicked(object sender, EventArgs e)
{
ToolbarItem item = (ToolbarItem)sender;
messageLabel.Text = $"You clicked the \"{item.Text}\" toolbar item.";
}
ToolbarItem
objekty mohou také použít Command
vlastnosti a CommandParameter
reagovat na uživatelský vstup bez obslužných rutin událostí. Další informace o ICommand
rozhraní a datové vazbě MVVM naleznete v tématu Xamarin.Forms MenuItem MVVM Chování.
Povolení nebo zakázání ToolbarItem za běhu
Chcete-li povolit zakázání ToolbarItem
za běhu, vytvořte vazbu jeho Command
vlastnosti na ICommand
implementaci a ujistěte se, že canExecute
delegát povolí a zakáže ICommand
podle potřeby.
Další informace naleznete v tématu Povolení nebo zakázání MenuItem za běhu.
Primární a sekundární nabídky
Výčet ToolbarItemOrder
obsahuje Default
, Primary
a Secondary
hodnoty.
Pokud je vlastnost nastavena Order
na Primary
, ToolbarItem
objekt se zobrazí na hlavním navigačním panelu na všech platformách. ToolbarItem
Objekty jsou upřednostňovány před názvem stránky, které budou zkráceny, aby se uvolnilo místo pro položky. Následující snímky obrazovky zobrazují ToolbarItem
objekty v primární nabídce v iOSu a Androidu:
Pokud je vlastnost nastavena Order
na Secondary
, chování se liší napříč platformami. V UPW a Androidu Secondary
se nabídka položek zobrazí jako tři tečky, na které můžete klepnout nebo kliknout a zobrazit položky ve svislém seznamu. V iOSu Secondary
se nabídka položek zobrazí pod navigačním panelem jako vodorovný seznam. Následující snímky obrazovky ukazují sekundární nabídku v iOSu a Androidu:
Upozorňující
Chování ikon v ToolbarItem
objektech, které mají nastavenou Order
vlastnost Secondary
, je nekonzistentní na různých platformách. Vyhněte se nastavení IconImageSource
vlastnosti u položek, které se zobrazí v sekundární nabídce.