SettingsCommand Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Nota
SettingsPane è deprecato e potrebbe non funzionare in tutte le versioni di Windows 10. Invece di usare settingsPane, integrare le opzioni delle impostazioni nell'esperienza dell'app. Per altre info, vedi Linee guida per le impostazioni dell'app.
Crea un oggetto comando settings che rappresenta una voce di impostazioni. Questo comando di impostazioni può essere aggiunto al vettore ApplicationCommands .
public ref class SettingsCommand sealed : IUICommand
/// [Windows.Foundation.Metadata.Activatable(Windows.UI.ApplicationSettings.ISettingsCommandFactory, 65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.None)]
class SettingsCommand final : IUICommand
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.None)]
/// [Windows.Foundation.Metadata.Activatable(Windows.UI.ApplicationSettings.ISettingsCommandFactory, 65536, "Windows.Foundation.UniversalApiContract")]
class SettingsCommand final : IUICommand
[Windows.Foundation.Metadata.Activatable(typeof(Windows.UI.ApplicationSettings.ISettingsCommandFactory), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.None)]
public sealed class SettingsCommand : IUICommand
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.None)]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.UI.ApplicationSettings.ISettingsCommandFactory), 65536, "Windows.Foundation.UniversalApiContract")]
public sealed class SettingsCommand : IUICommand
function SettingsCommand(settingsCommandId, label, handler)
Public NotInheritable Class SettingsCommand
Implements IUICommand
- Ereditarietà
- Attributi
- Implementazioni
Requisiti Windows
Famiglia di dispositivi |
Windows 10 (è stato introdotto in 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
API contract |
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)
|
Esempio
Il codice seguente illustra come aggiungere comandi dell'app usando le classi SettingsPane e SettingsCommand. Per l'esempio completo, vedere Esempio di impostazioni dell'app.
using Windows.UI.ApplicationSettings;
using Windows.UI.Popups;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Navigation;
using System;
// This is the click handler for the 'addSettingsScenarioAdd' button.
// Replace this with your own handler if you have a button or buttons on this page.
void addSettingsScenarioAdd_Click(object sender, RoutedEventArgs e)
{
Button b = sender as Button;
if (b != null)
{
rootPage.NotifyUser(
"You selected the " + b.Content + " button",
NotifyType.StatusMessage);
if (!this.isEventRegistered)
{
SettingsPane.GetForCurrentView().CommandsRequested += onCommandsRequested;
this.isEventRegistered = true;
}
}
}
void onSettingsCommand(IUICommand command)
{
SettingsCommand settingsCommand = (SettingsCommand)command;
rootPage.NotifyUser(
"You selected the " + settingsCommand.Label + " settings command",
NotifyType.StatusMessage);
}
void onCommandsRequested(
SettingsPane settingsPane,
SettingsPaneCommandsRequestedEventArgs eventArgs)
{
UICommandInvokedHandler handler = new UICommandInvokedHandler(onSettingsCommand);
SettingsCommand generalCommand = new SettingsCommand(
"generalSettings", "General", handler);
eventArgs.Request.ApplicationCommands.Add(generalCommand);
SettingsCommand helpCommand = new SettingsCommand("helpPage", "Help", handler);
eventArgs.Request.ApplicationCommands.Add(helpCommand);
}
#include "pch.h"
#include "AddSettingsScenario.xaml.h"
using namespace ApplicationSettings;
using namespace Windows::Foundation;
using namespace Windows::UI::Xaml;
using namespace Windows::UI::Xaml::Controls;
using namespace Windows::UI::Xaml::Navigation;
using namespace Windows::UI::ApplicationSettings;
using namespace Windows::UI::Popups;
void AddSettingsScenario::addSettingsScenarioAdd_Click(
Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
Button^ b = safe_cast<Button^>(sender);
if (b != nullptr)
{
rootPage->NotifyUser("You selected the " + b->Content + " button",
NotifyType::StatusMessage);
if (!this->isEventRegistered)
{
this->commandsRequestedEventRegistrationToken =
SettingsPane::GetForCurrentView()->CommandsRequested +=
ref new TypedEventHandler<SettingsPane^,
SettingsPaneCommandsRequestedEventArgs^>(this,
&AddSettingsScenario::OnCommandsRequested);
this->isEventRegistered = true;
}
}
}
void AddSettingsScenario::OnSettingsCommand(
Windows::UI::Popups::IUICommand^ command)
{
SettingsCommand^ settingsCommand = safe_cast<SettingsCommand^>(command);
rootPage->NotifyUser(
"You selected the " + settingsCommand->Label + " settings command",
NotifyType::StatusMessage);
}
void AddSettingsScenario::OnCommandsRequested(
Windows::UI::ApplicationSettings::SettingsPane^ settingsPane,
Windows::UI::ApplicationSettings::SettingsPaneCommandsRequestedEventArgs^ eventArgs)
{
UICommandInvokedHandler^ handler = ref new UICommandInvokedHandler(
this, &AddSettingsScenario::OnSettingsCommand);
SettingsCommand^ generalCommand = ref new SettingsCommand(
"generalSettings", "General", handler);
eventArgs->Request->ApplicationCommands->Append(generalCommand);
SettingsCommand^ helpCommand = ref new SettingsCommand("helpPage", "Help", handler);
eventArgs->Request->ApplicationCommands->Append(helpCommand);
}
#include "pch.h"
#include "AddSettingsScenario.xaml.h"
using namespace ApplicationSettings;
using namespace Windows::Foundation;
using namespace Windows::UI::Xaml;
using namespace Windows::UI::Xaml::Controls;
using namespace Windows::UI::Xaml::Navigation;
using namespace Windows::UI::ApplicationSettings;
using namespace Windows::UI::Popups;
void ApplicationSettings::AddSettingsScenario::addSettingsScenarioAdd_Click(
Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
Button^ b = safe_cast<Button^>(sender);
if (b != nullptr)
{
rootPage->NotifyUser("You selected the " + b->Content + " button",
NotifyType::StatusMessage);
if (!this->isEventRegistered)
{
this->commandsRequestedEventRegistrationToken =
SettingsPane::GetForCurrentView()->CommandsRequested +=
ref new TypedEventHandler<SettingsPane^,
SettingsPaneCommandsRequestedEventArgs^>(this,
&AddSettingsScenario::onCommandsRequested);
this->isEventRegistered = true;
}
}
}
void ApplicationSettings::AddSettingsScenario::onSettingsCommand(
Windows::UI::Popups::IUICommand^ command)
{
SettingsCommand^ settingsCommand = safe_cast<SettingsCommand^>(command);
rootPage->NotifyUser(
"You selected the " + settingsCommand->Label + " settings command",
NotifyType::StatusMessage);
}
void ApplicationSettings::AddSettingsScenario::onCommandsRequested(
Windows::UI::ApplicationSettings::SettingsPane^ settingsPane,
Windows::UI::ApplicationSettings::SettingsPaneCommandsRequestedEventArgs^ eventArgs)
{
UICommandInvokedHandler^ handler = ref new UICommandInvokedHandler(
this, &AddSettingsScenario::onSettingsCommand);
SettingsCommand^ generalCommand = ref new SettingsCommand(
"generalSettings", "General", handler);
eventArgs->Request->ApplicationCommands->Append(generalCommand);
SettingsCommand^ helpCommand = ref new SettingsCommand("helpPage", "Help", handler);
eventArgs->Request->ApplicationCommands->Append(helpCommand);
}
Imports Windows.UI.ApplicationSettings
Imports Windows.UI.Popups
Imports Windows.UI.Xaml
Imports Windows.UI.Xaml.Controls
Imports Windows.UI.Xaml.Navigation
Imports System
'' This is the click handler for the 'addSettingsScenarioAdd' button.
'' Replace this with your own handler if you have a button or buttons on this page.
Private Sub addSettingsScenarioAdd_Click(sender As Object, e As RoutedEventArgs)
Dim b As Button = TryCast(sender, Button)
If b IsNot Nothing Then
rootPage.NotifyUser("You selected the " & b.Content & " button", _
NotifyType.StatusMessage)
If Not Me.isEventRegistered Then
AddHandler SettingsPane.GetForCurrentView.CommandsRequested, _
AddressOf onCommandsRequested
Me.isEventRegistered = True
End If
End If
End Sub
Private Sub onSettingsCommand(command As IUICommand)
Dim settingsCommand As SettingsCommand = DirectCast(command, SettingsCommand)
rootPage.NotifyUser( _
"You selected the " & settingsCommand.Label & " settings command", _
NotifyType.StatusMessage)
End Sub
Private Sub onCommandsRequested(settingsPane As SettingsPane, _
eventArgs As SettingsPaneCommandsRequestedEventArgs)
Dim handler As New UICommandInvokedHandler(AddressOf onSettingsCommand)
Dim generalCommand As New SettingsCommand("generalSettings", "General", handler)
eventArgs.Request.ApplicationCommands.Add(generalCommand)
Dim helpCommand As New SettingsCommand("helpPage", "Help", handler)
eventArgs.Request.ApplicationCommands.Add(helpCommand)
End Sub
'' This is the click handler for the 'addSettingsScenarioShow' button.
'' Replace this with your own handler if you have a button or buttons on this page.
Private Sub addSettingsScenarioShow_Click(sender As Object, e As RoutedEventArgs)
Dim b As Button = TryCast(sender, Button)
If b IsNot Nothing Then
rootPage.NotifyUser("You selected the " & b.Content & " button", _
NotifyType.StatusMessage)
SettingsPane.Show()
End If
End Sub
Commenti
Nota
Questa classe non è agile, il che significa che è necessario considerare il modello di threading e il comportamento di marshalling. Per altre informazioni, vedere Threading e marshalling (C++/CX) e Uso di oggetti Windows Runtime in un ambiente multithreading (.NET).
Costruttori
SettingsCommand(Object, String, UICommandInvokedHandler) |
Crea un nuovo comando delle impostazioni. |
Proprietà
AccountsCommand |
Ottiene il comando per un account Web nel riquadro delle impostazioni dell'account. |
Id |
Ottiene o imposta l'ID del comando. |
Invoked |
Ottiene o imposta il gestore per l'evento generato quando l'utente seleziona il comando. |
Label |
Ottiene o imposta l'etichetta per il comando. |