Xamarin.Forms Položka panelu nástrojů
Třída Xamarin.FormsToolbarItem je speciální typ tlačítka, který lze přidat do Page kolekce ToolbarItems objektu. 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 třídy .
Následující snímky obrazovky zobrazují ToolbarItem objekty v navigačním panelu v iOSu a Androidu:

Třída ToolbarItem definuje následující vlastnosti:
- Xamarin_Forms _ToolbarItem_Order" data-linktype="absolute-path">je hodnota výčtu, která určuje, jestli se instance zobrazí v primární nebo
OrderToolbarItemOrderToolbarItemsekundární nabídce. - Xamarin_Forms _ToolbarItem_Priority" data-linktype="absolute-path">je hodnota, která určuje pořadí zobrazení položek v
PriorityintegerPagekolekciToolbarItemsobjektu.
Třída dědí z třídy ToolbarItem následující obvykle používané MenuItem vlastnosti:
- Xamarin_Forms _MenuItem_Command data-linktype="absolute-path">je objekt, který umožňuje svázání uživatelských akcí, jako jsou klepnutí prstem nebo kliknutí prstem, na příkazy definované
CommandvICommandmodelu viewmodel. - Xamarin_Forms _MenuItem_CommandParameter" data-linktype="absolute-path">
CommandParameterjeobjectparametr, který má být předánCommanddo . - Xamarin_Forms _MenuItem_IconImageSource data-linktype="absolute-path">je hodnota, která určuje ikonu zobrazení
IconImageSourceImageSourceToolbarItemobjektu. - Xamarin_Forms _MenuItem_Text" data-linktype="absolute-path">je hodnota, která určuje
Textzobrazovaný textstringToolbarItemobjektu.
Tyto vlastnosti jsou zálohová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 objektů je nastavení připojené vlastnosti na třídu ToolbarItemNavigationPage.TitleView rozložení, která obsahuje více zobrazení. Další informace najdete v tématu Zobrazení zobrazení na navigačním panelu.
Vytvoření toolbarItem
Instanci ToolbarItem objektu lze vytvořit v jazyce XAML. Vlastnosti TextIconImageSource a můžete nastavit, abyste zjistili, jak se tlačítko zobrazí na navigačním panelu. Následující příklad ukazuje, jak vytvořit instanci s některými běžnými nastavenými vlastnostmi a přidat ToolbarItem ji do kolekce objektu ContentPageToolbarItems :
<ContentPage.ToolbarItems>
<ToolbarItem Text="Example Item"
IconImageSource="example_icon.png"
Order="Primary"
Priority="0" />
</ContentPage.ToolbarItems>
Výsledkem tohoto příkladu bude objekt, který obsahuje text, ikonu a zobrazí se jako první ToolbarItem v primární oblasti navigačního panelu. Objekt ToolbarItem lze také vytvořit v kódu a přidat do ToolbarItems 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 objektem , který je k dispozici IconImageSource jako vlastnost , musí existovat v každém projektu platformy.
Poznámka
Prostředky obrázků se na jednotlivých platformách zpracovávají odlišně. Může ImageSource pocovat 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í vlastnosti IconImageSource a obrázků v najdete v tématu Xamarin.FormsImages in Xamarin.Forms .
Definování chování tlačítka
Třída ToolbarItem dědí Clicked událost z MenuItem třídy . Obslužnou rutinu události je možné připojit k události a reagovat tak na klepnutí nebo kliknutí ClickedToolbarItem na instance v jazyce 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 odkazují na OnItemClicked obslužnou rutinu události. Následující kód ukazuje příklad implementace:
void OnItemClicked(object sender, EventArgs e)
{
ToolbarItem item = (ToolbarItem)sender;
messageLabel.Text = $"You clicked the \"{item.Text}\" toolbar item.";
}
ToolbarItem Objekty mohou také pomocí CommandCommandParameter vlastností a reagovat na vstup uživatele bez obslužných rutin událostí. Další informace o rozhraní ICommand a datové vazbě MVVM najdete v tématu Xamarin.Forms MenuItem MVVM Behavior .
Povolení nebo zakázání ToolbarItem za běhu
Pokud chcete zakázat za běhu, vytvořte vazbu jeho vlastnosti na implementaci a zajistěte, aby delegát podle potřeby povoluje ToolbarItemCommand a ICommandcanExecuteICommand zakažuje .
Další informace najdete v tématu Povolení nebo zakázání MenuItem za běhu.
Primární a sekundární nabídky
Výčet ToolbarItemOrder má hodnoty , a DefaultPrimarySecondary .
Pokud je vlastnost nastavená na , objekt se zobrazí v hlavním OrderPrimaryToolbarItem navigačním panelu na všech platformách. ToolbarItem Objekty mají přednost před názvem stránky, který se zkrátí, aby byly pro položky prostor. Následující snímky obrazovky zobrazují ToolbarItem objekty v primární nabídce v iOSu a Androidu:
snímek primární nabídky
Pokud je Order vlastnost nastavená na Secondary , chování se u různých platforem liší. V UPW a Androidu se nabídka položek zobrazuje jako tři tečky, na které je možné klepnout nebo kliknout, aby se položky objevily Secondary ve svislém seznamu. V iOSu se pod navigačním panelem zobrazí nabídka Secondary položek jako vodorovný seznam. Následující snímky obrazovky ukazují sekundární nabídku v iOSu a Androidu:

Upozornění
Chování ikon v ToolbarItem objektech, které mají vlastnost Order nastavenou na , Secondary je napříč platformami nekonzistentní. Vyhněte se nastavení IconImageSource vlastnosti u položek, které se zobrazí v sekundární nabídce.
Stažení ukázky