SettingsCommand Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Observação
SettingsPane foi preterido e pode não funcionar em todas as versões do Windows 10. Em vez de usar um SettingsPane, integre as opções de configurações à experiência do aplicativo. Para obter mais informações, consulte Diretrizes para configurações de aplicativo.
Cria um objeto de comando settings que representa uma entrada de configurações. Esse comando de configurações pode ser acrescentado ao vetor 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
- Herança
- Atributos
- Implementações
Requisitos do Windows
Família de dispositivos |
Windows 10 (introduzida na 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v1.0)
|
Exemplos
O código a seguir mostra como adicionar comandos de aplicativo usando as classes SettingsPane e SettingsCommand. Para obter o exemplo completo, consulte Exemplo de configurações de aplicativo.
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
Comentários
Observação
Essa classe não é ágil, o que significa que você precisa considerar seu modelo de threading e o comportamento de marshaling. Para obter mais informações, consulte Threading and Marshaling (C++/CX) e Using Windows Runtime objects in a multithreaded environment (.NET).
Construtores
SettingsCommand(Object, String, UICommandInvokedHandler) |
Cria um novo comando de configurações. |
Propriedades
AccountsCommand |
Obtém o comando de uma conta Web no painel de configurações da conta. |
Id |
Obtém ou define a ID do comando. |
Invoked |
Obtém ou define o manipulador para o evento gerado quando o usuário seleciona o comando. |
Label |
Obtém ou define o rótulo do comando. |