Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Propriedade ApplicationCommands.Close

Obtém o valor que representa o comando fechar.

Namespace:  System.Windows.Input
Assembly:  PresentationCore (em PresentationCore. dll)
XMLNS para XAML: http://schemas.microsoft.com/winfx/xaml/presentation

public static RoutedUICommand Close { get; }
<object property="Close"/>

Valor da propriedade

Tipo: System.Windows.Input.RoutedUICommand
O comando.

Valores padrão

Gesto de chave

CTRL+X

SHIFT + Excluir

Texto de interface do usuário

Fechar

Esse comando indica intenção para fechar um item (geralmente um arquivo).

Não há necessariamente uma implementação para o comando de qualquer objeto fornecido; em muitos casos a implementação para o comando é de responsabilidade do gravador do aplicativo.

O exemplo a seguir mostra como atrelar um RoutedCommand a um Control que tem suporte embutido para o comando. Para um exemplo completo que atrela comandos a múltiplas fontes, veja o exemplo Criar um exemplo de RoutedCommand Personalizar.

Windows Presentation Foundation (WPF) fornece uma biblioteca de comandos comuns que programadores de aplicação encontram regularmente. As classes que compõem a biblioteca de comando são: ApplicationCommands, ComponentCommands, NavigationCommands, MediaCommands, and EditingCommands.

Os objetos estáticos RoutedCommand que compõem essas classes não fornecem lógica de comando. A lógica do comando está associada com o comando com um CommandBinding. Alguns controles têm CommandBindings embutidos para alguns comandos. Esse mecanismo permite que a semântica de um comando permaneça a mesma, enquanto a implementação real pode mudar. Um TextBox, por exemplo, manipula o comando Paste de forma diferente que um controle projetado para apoiar imagens, mas a idéia básica do que significa colar algo continua a mesma. A lógica de comando não pode ser fornecida pelo comando, mas precisa ser fornecida pelo controle ou pela aplicação.

Muitos controles em WPF não têm suporte para alguns comandos na biblioteca de comandos. TextBox, por exemplo, suporte muitos dos comandos de edição de aplicação tais como Paste, Copy, Cut, Redo e Undo. O desenvolvedor da aplicação não tem que fazer nada especial para fazer esses comandos funcionarem com esses controles. Se o TextBox é o alvo do comando quando o comando é executado, manipulará o comando utilizando o CommandBinding que é embutido no controle.

O que segue mostra como utilizar MenuItem como a fonte de comando para o comando Paste, onde TextBox é o alvo do comando. Toda a lógica que define como o TextBox realiza a cola está embutida no controle TextBox.

Um MenuItem é criado e sua propriedade Command é definida como o comando Paste. O CommandTarget não é explicitamente definido para o objeto TextBox. Quando CommandTarget não está definido, o alvo para o comando e o elemento que tem o foco do teclado. Se o elemento que tem o foco do teclado não suporta o comando Paste ou não pode executar o comando de cola (a área de transferência está vazia, por exemplo), então o MenuItem estará desabilitado.

<Window x:Class="SDKSamples.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MenuItemCommandTask"
    >
    <DockPanel>
      <Menu DockPanel.Dock="Top">
        <MenuItem Command="ApplicationCommands.Paste" Width="75" />
      </Menu>
      <TextBox BorderBrush="Black" BorderThickness="2" Margin="25"
               TextWrapping="Wrap">
        The MenuItem will not be enabled until
        this TextBox gets keyboard focus  
      </TextBox>
    </DockPanel>
</Window>


// Window1 constructorpublic Window1()
{
    InitializeComponent();

    // Instantiating UIElements.
    DockPanel mainPanel = new DockPanel();
    Menu mainMenu = new Menu();
    MenuItem pasteMenuItem = new MenuItem();
    TextBox mainTextBox = new TextBox();

    // Associating the MenuItem with the Paste command.
    pasteMenuItem.Command = ApplicationCommands.Paste;

    // Setting properties on the TextBox.
    mainTextBox.Text =
        "The MenuItem will not be enabled until this TextBox receives keyboard focus.";
    mainTextBox.Margin = new Thickness(25);
    mainTextBox.BorderBrush = Brushes.Black;
    mainTextBox.BorderThickness = new Thickness(2);
    mainTextBox.TextWrapping = TextWrapping.Wrap;

    // Attaching UIElements to the Window.this.AddChild(mainPanel);
    mainMenu.Items.Add(pasteMenuItem);
    mainPanel.Children.Add(mainMenu);
    mainPanel.Children.Add(mainTextBox);

    // Defining DockPanel layout.
    DockPanel.SetDock(mainMenu, Dock.Top);
    DockPanel.SetDock(mainTextBox, Dock.Bottom);
}


Mais código

Como: Enganchar um Comando em um Controle sem Suporte de Comando O seguinte exemplo mostra como enganchar um RoutedCommand a um Control que não tem suporte embutido para o comando. Para um exemplo completo que atrela comandos a múltiplas fontes, veja o exemplo Criar um exemplo de RoutedCommand Personalizar.

Windows Vista, Windows XP SP2, Windows Server 2003

O .NET Framework e .NET Compact Framework não suporte para todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos de sistema do .NET framework.

.NET Framework

Compatível com: 3.5, 3.0

Contribuições da comunidade

ADICIONAR
A Microsoft está realizando uma pesquisa online para saber sua opinião sobre o site do MSDN. Se você optar por participar, a pesquisa online lhe será apresentada quando você sair do site do MSDN.

Deseja participar?
Mostrar:
© 2015 Microsoft