Condividi tramite


Visualizzare gli elementi della barra degli strumenti

La classe .NET Multi-platform App UI (.NET MAUI) ToolbarItem è un tipo speciale di pulsante che può essere aggiunto alla raccolta di ToolbarItems un Page oggetto. Poiché la Shell classe deriva da Page, ToolbarItem è anche possibile aggiungere oggetti all'insieme ToolbarItems di un Shell oggetto . Ogni ToolbarItem oggetto verrà visualizzato come pulsante nella barra di spostamento dell'app. Un ToolbarItem oggetto può avere un'icona e apparire come elemento primario o secondario. La classe ToolbarItem eredita da MenuItem.

Lo screenshot seguente mostra un ToolbarItem oggetto nella barra di spostamento in iOS:

Screenshot of a toolbar item in the navigation bar on iOS.

La ToolbarItem classe definisce le proprietà seguenti:

La ToolbarItem classe eredita le proprietà usate di seguito dalla MenuItem classe :

  • Command, di tipo ICommand, consente l'associazione di azioni utente, ad esempio tocco di dito o clic, ai comandi definiti in un modello di visualizzazione.
  • CommandParameter, di tipo object, specifica il parametro che deve essere passato a Command.
  • IconImageSource, di tipo ImageSource, che determina l'icona di visualizzazione in un ToolbarItem oggetto .
  • Text, di tipo string, determina il testo visualizzato in un ToolbarItem oggetto .

Queste proprietà sono supportate da BindableProperty oggetti, il che significa che possono essere destinazioni di data binding.

Nota

Un'alternativa alla creazione di una barra degli strumenti da ToolbarItem oggetti consiste nell'impostare la TitleViewProperty proprietà associata su una classe di layout che contiene più visualizzazioni. Per altre informazioni, vedere Visualizzare le visualizzazioni nella barra di spostamento.

Creare un oggetto ToolbarItem

Per creare un elemento della barra degli strumenti, creare un ToolbarItem oggetto e impostarne le proprietà per definirne l'aspetto e il comportamento. Nell'esempio seguente viene illustrato come creare un ToolbarItem oggetto con un set di proprietà minime e aggiungerlo alla raccolta di ToolbarItems un ContentPageoggetto :

<ContentPage.ToolbarItems>
    <ToolbarItem Text="Add item"
                 IconImageSource="add.png" />
</ContentPage.ToolbarItems>

In questo esempio viene restituito un ToolbarItem oggetto con testo e un'icona. Tuttavia, l'aspetto di un ToolbarItem oggetto varia a seconda delle piattaforme.

È anche possibile creare un oggetto ToolbarItem nel codice e aggiungerlo alla ToolbarItems raccolta:

ToolbarItem item = new ToolbarItem
{
    Text = "Add item",
    IconImageSource = ImageSource.FromFile("add.png")
};

// "this" refers to a Page object
this.ToolbarItems.Add(item);

Nota

Le immagini possono essere archiviate in un'unica posizione nel progetto dell'app. Per altre informazioni, vedere Aggiungere immagini a un progetto MAUI .NET.

Definire il comportamento del pulsante

La ToolbarItem classe eredita l'evento Clicked dalla MenuItem classe . Un gestore eventi può essere associato all'evento Clicked per reagire ai tocco o ai clic sugli ToolbarItem oggetti:

<ToolbarItem ...
             Clicked="OnItemClicked" />

Un gestore eventi può essere collegato anche nel codice:

ToolbarItem item = new ToolbarItem { ... };
item.Clicked += OnItemClicked;

Questi esempi fanno riferimento a un OnItemClicked gestore eventi, illustrato nell'esempio seguente:

void OnItemClicked(object sender, EventArgs e)
{
    ToolbarItem item = (ToolbarItem)sender;
    messageLabel.Text = $"You clicked the \"{item.Text}\" toolbar item.";
}

Nota

ToolbarItem gli oggetti possono anche usare le Command proprietà e CommandParameter per reagire all'input dell'utente senza gestori eventi.

Abilitare o disabilitare un oggetto ToolbarItem in fase di esecuzione

Per abilitare o disabilitare un oggetto ToolbarItem in fase di esecuzione, associarne la Command proprietà a un'implementazione ICommand e assicurarsi che il delegato canExecute abiliti e disabiliti l'oggetto in base alle ICommand esigenze.

Importante

Non associare la IsEnabled proprietà a un'altra proprietà quando si usa la Command proprietà per abilitare o disabilitare .ToolbarItem

Elementi della barra degli strumenti primari e secondari

L'enumerazione ToolbarItemOrder ha Defaultvalori , Primarye Secondary .

Quando la Order proprietà è impostata su Primary, l'oggetto ToolbarItem viene visualizzato nella barra di spostamento su tutte le piattaforme. ToolbarItem gli oggetti sono classificati in ordine di priorità rispetto al titolo della pagina, che verrà troncato per liberare spazio per gli elementi.

Quando la proprietà è impostata su Secondary, il Order comportamento varia a seconda delle piattaforme. In iOS e Mac Catalyst, Secondary gli elementi della barra degli strumenti vengono visualizzati come elenco orizzontale. In Android e Windows il Secondary menu voci viene visualizzato come tre puntini che possono essere toccati:

Screenshot of secondary toolbar ellipsis on Android.

Toccando i tre puntini vengono visualizzati elementi in un elenco verticale:

Screenshot of secondary toolbar items in vertical list on Android.

Avviso

Il comportamento dell'icona negli ToolbarItem oggetti su cui è impostata Secondary la proprietà Order è incoerente tra le piattaforme. Evitare di impostare la IconImageSource proprietà per gli elementi visualizzati nel menu secondario.