Xamarin.Forms Položka panelu nástrojů

Stáhnout ukázku Stažení ukázky

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:

Ukázkový snímek obrazovky ToolbarItem na Androidu a iOSu

Třída ToolbarItem definuje následující vlastnosti:

Třída dědí z třídy ToolbarItem následující obvykle používané MenuItem vlastnosti:

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 obrazovky primární nabídky ToolbarItem s Androidem a iOSemNasní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:

Snímek obrazovky sekundární nabídky ToolbarItem s Androidem a iOSemsek

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.