Aggiungere l'app alla barra delle applicazioniPin your app to the taskbar

È possibile aggiungere l'app a livello di codice alla barra delle applicazioni, esattamente come è possibile aggiungere l'app al menu Start.You can programmatically pin your own app to the taskbar, just like you can pin your app to the Start menu. È anche possibile verificare se l'app è attualmente bloccata e se la barra delle applicazioni consente il blocco.And you can check whether your app is currently pinned, and whether the taskbar allows pinning.

Screenshot di una barra delle applicazioni di Windows 10 che mostra l'app bloccata.

Importante

Richiede Fall Creators Update: è necessario destinare l'SDK 16299 ed eseguire build 16299 o versione successiva per usare le API della barra delle applicazioni.Requires Fall Creators Update: You must target SDK 16299 and be running build 16299 or higher to use the taskbar APIs.

API importanti: classe TaskbarManagerImportant APIs: TaskbarManager class

Quando è necessario richiedere all'utente di aggiungere l'app alla barra delle applicazioni?When should you ask the user to pin your app to the taskbar?

La classe TaskbarManager consente di richiedere all'utente di aggiungere l'app alla barra delle applicazioni; l'utente deve approvare la richiesta.The TaskbarManager class lets you ask the user to pin your app to the taskbar; the user must approve the request. Per la creazione di un'app stellare è molto impegnativo e ora si ha la possibilità di chiedere all'utente di aggiungerla alla barra delle applicazioni.You put a lot of effort into building a stellar app, and now you have the opportunity to ask the user to pin it to taskbar. Ma prima di approfondire il codice, ecco alcuni aspetti da tenere in considerazione durante la progettazione dell'esperienza:But before we dive into the code, here are some things to keep in mind as you are designing your experience:

  • È possibile creare un'attività non problematica e facilmente congedato nell'app con una chiara chiamata al metodo "Aggiungi alla barra delle applicazioni".Do craft a non-disruptive and easily dismissible UX in your app with a clear "Pin to taskbar" call to action. Per questo scopo, evitare di usare le finestre di dialogo e riquadri a comparsa.Avoid using dialogs and flyouts for this purpose.
  • Spiegare chiaramente il valore dell'app prima di chiedere all'utente di aggiungerla.Do clearly explain the value of your app before asking the user to pin it.
  • Non richiedere a un utente di aggiungere l'app se il riquadro è già bloccato o se il dispositivo non lo supporta.Don't ask a user to pin your app if the tile is already pinned or the device doesn’t support it. In questo articolo viene illustrato come determinare se il blocco è supportato.(This article explains how to determine whether pinning is supported.)
  • Non chiedere ripetutamente all'utente di aggiungere l'app (probabilmente si annoia).Don't repeatedly ask the user to pin your app (they will probably get annoyed).
  • Non chiamare l'API pin senza interazione esplicita dell'utente o quando l'app è ridotta a icona o non aperta.Don't call the pin API without explicit user interaction or when your app is minimized/not open.

1. verificare se sono presenti le API necessarie1. Check whether the required APIs exist

Se l'app supporta le versioni precedenti di Windows 10, è necessario verificare se la classe TaskbarManager è disponibile.If your app supports older versions of Windows 10, you need to check whether the TaskbarManager class is available. Per eseguire questa verifica, è possibile usare il Metodo ApiInformation. IsTypePresent .You can use the ApiInformation.IsTypePresent method to perform this check. Se la classe TaskbarManager non è disponibile, evitare di eseguire chiamate alle API.If the TaskbarManager class isn't available, avoid executing any calls to the APIs.

if (ApiInformation.IsTypePresent("Windows.UI.Shell.TaskbarManager"))
{
    // Taskbar APIs exist!
}

else
{
    // Older version of Windows, no taskbar APIs
}

2. verificare se la barra delle applicazioni è presente e consente l'aggiunta2. Check whether taskbar is present and allows pinning

Le app di Windows possono essere eseguite su una vasta gamma di dispositivi. non tutte supportano la barra delle applicazioni.Windows apps can run on a wide variety of devices; not all of them support the taskbar. Al momento, solo i dispositivi desktop supportano la barra delle applicazioni.Right now, only Desktop devices support the taskbar.

Anche se la barra delle applicazioni è disponibile, un criterio di gruppo nel computer dell'utente potrebbe disabilitare il blocco della barra delle applicazioni.Even if the taskbar is available, a group policy on the user's machine might disable taskbar pinning. Quindi, prima di tentare di aggiungere l'app, è necessario verificare se l'aggiunta alla barra delle applicazioni è supportata.So, before you attempt to pin your app, you need to check whether pinning to the taskbar is supported. La Proprietà TaskbarManager. IsPinningAllowed restituisce true se la barra delle applicazioni è presente e consente il blocco.The TaskbarManager.IsPinningAllowed property returns true if the taskbar is present and allows pinning.

// Check if taskbar allows pinning (Group Policy can disable it, or some device families don't have taskbar)
bool isPinningAllowed = TaskbarManager.GetDefault().IsPinningAllowed;

Nota

Se non si desidera aggiungere l'applicazione alla barra delle applicazioni e si desidera solo sapere se la barra delle applicazioni è disponibile, utilizzare la Proprietà TaskbarManager. è supportato.If you don't want to pin your app to the taskbar and just want to find out whether the taskbar is available, use the TaskbarManager.IsSupported property.

3. verificare se l'app è attualmente bloccata sulla barra delle applicazioni3. Check whether your app is currently pinned to the taskbar

Ovviamente, non è possibile chiedere all'utente di aggiungere l'app alla barra delle applicazioni se è già bloccata.Obviously, there's no point in asking the user to let you pin the app to the taskbar if it's already pinned there. È possibile usare il Metodo TaskbarManager. IsCurrentAppPinnedAsync per verificare se l'app è già bloccata prima di chiedere all'utente.You can use the TaskbarManager.IsCurrentAppPinnedAsync method to check whether the app is already pinned before asking the user.

// Check whether your app is currently pinned
bool isPinned = await TaskbarManager.GetDefault().IsCurrentAppPinnedAsync();

if (isPinned)
{
    // The app is already pinned--no point in asking to pin it again!
}
else 
{
    //The app is not pinned. 
}

4. aggiungere l'app4. Pin your app

Se la barra delle applicazioni è presente e l'aggiunta è consentita e l'app non è attualmente bloccata, potrebbe essere utile mostrare una mancia per informare gli utenti che è possibile aggiungere l'app.If the taskbar is present and pinning is allowed and your app currently isn't pinned, you might want to show a subtle tip to let users know that they can pin your app. Ad esempio, è possibile visualizzare un'icona di blocco in un punto qualsiasi dell'interfaccia utente su cui l'utente può fare clic.For example, you might show a pin icon somewhere in your UI that the user can click.

Se l'utente fa clic sull'interfaccia utente del suggerimento del PIN, si chiamerà il Metodo TaskbarManager. RequestPinCurrentAppAsync.If the user clicks your pin suggestion UI, you would then call the TaskbarManager.RequestPinCurrentAppAsync method. Questo metodo Visualizza una finestra di dialogo che chiede all'utente di confermare che desidera che l'app venga aggiunta alla barra delle applicazioni.This method displays a dialog that asks the user to confirm that they want your app pinned to the taskbar.

Importante

Questa operazione deve essere chiamata da un thread dell'interfaccia utente in primo piano; in caso contrario, verrà generata un'eccezione.This must be called from a foreground UI thread, otherwise an exception will be thrown.

// Request to be pinned to the taskbar
bool isPinned = await TaskbarManager.GetDefault().RequestPinCurrentAppAsync();

Aggiungi finestra di dialogo

Questo metodo restituisce un valore booleano che indica se l'app è ora bloccata sulla barra delle applicazioni.This method returns a boolean value that indicates whether your app is now pinned to the taskbar. Se l'app è già stata bloccata, il metodo restituisce immediatamente true senza visualizzare la finestra di dialogo all'utente.If your app was already pinned, the method immediately returns true without showing the dialog to the user. Se l'utente fa clic su "No" nella finestra di dialogo o il blocco dell'app sulla barra delle applicazioni non è consentito, il metodo restituisce false.If the user clicks "no" on the dialog, or pinning your app to the taskbar isn't allowed, the method returns false. In caso contrario, l'utente ha fatto clic su Sì e l'app è stata bloccata e l'API restituirà true.Otherwise, the user clicked yes and the app was pinned, and the API will return true.

RisorseResources