Exporter (0) Imprimer
Développer tout
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

ApplicationCommands.New, propriété

Mise à jour : novembre 2007

Obtient la valeur qui représente la commande Nouveau.

Espace de noms :  System.Windows.Input
Assembly :  PresentationCore (dans PresentationCore.dll)
XMLNS pour XAML : http://schemas.microsoft.com/winfx/xaml/presentation

public static RoutedUICommand New { get; }
/** @property */
public static RoutedUICommand get_New()

public static function get New () : RoutedUICommand

<object property="New"/>

Valeur de propriété

Type : System.Windows.Input.RoutedUICommand

Commande.

Valeurs par défaut

Combinaison de touches

Ctrl+N

Texte d'interface utilisateur

Nouveau

Cette commande indique l'intention de créer un nouvel élément.

Il n'existe pas nécessairement d'implémentation répondant à la commande sur n'importe quel objet donné ; dans de nombreux cas, l'implémentation de la commande relève de la responsabilité du writer d'application.

L'exemple suivant montre comment raccorder une RoutedCommand à un Control offrant une prise en charge intégrée de la commande. Pour un exemple complet de raccordement de commandes à plusieurs sources, consultez l'exemple Créer un RoutedCommand personnalisé, exemple.

Windows Presentation Foundation (WPF) propose une bibliothèque de commandes courantes que les programmeurs rencontrent régulièrement. Les classes qui constituent la bibliothèque de commandes sont les suivantes : ApplicationCommands, ComponentCommands, NavigationCommands, MediaCommands et EditingCommands.

Les objets RoutedCommand statiques qui composent ces classes ne fournissent pas de logique de commande. La logique de commande est associée à la commande à l'aide d'une CommandBinding. Certains contrôles possèdent des liaisons de commande intégrées pour certaines commandes. Ce mécanisme permet à la sémantique d'une commande de rester la même, alors que l'implémentation réelle peut changer. Par exemple, un contrôle TextBox gèrera la commande Paste d'une manière autre qu'un contrôle conçu pour prendre en charge des images. L'idée de base, à savoir coller quelque chose, reste toutefois la même. La logique de commande ne peut pas être fournie par la commande, mais doit l'être par le contrôle ou l'application.

De nombreux contrôles dans WPF offrent une prise en charge intégrée pour certaines commandes de la bibliothèque de commandes. Par exemple, TextBox prend en charge de nombreuses commandes de modification de l'application, telles que Paste, Copy, Cut, Redo et Undo. Le développeur d'applications ne doit rien faire de spécial pour que ces commandes fonctionnent avec ces contrôles. Si le contrôle TextBox est la cible de la commande lors de l'exécution de celle-ci, il gérera la commande à l'aide de la CommandBinding qui lui est intégrée.

L'exemple suivant montre comment utiliser un MenuItem en tant que source de la commande Paste, dont le contrôle TextBox est la cible. Toute la logique qui définit la manière dont le contrôle TextBox effectue le collage est intégrée à celui-ci.

Un MenuItem est créé et sa propriété Command prend pour valeur la commande Paste. L'objet TextBox n'est pas explicitement affecté à la CommandTarget. Lorsque la CommandTarget n'est pas définie, la cible est l'élément qui a le focus clavier. Si l'élément qui a le focus clavier ne prend pas en charge la commande Paste ou ne peut pas exécuter la commande de collage pour l'instant (parce que le presse-papiers est vide, par exemple), alors MenuItem apparaît en grisé.

<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 constructor
public 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);
}


Davantage de code

Comment : raccorder une commande à un contrôle sans prise en charge de commandeL'exemple suivant montre comment raccorder une RoutedCommand à un Control qui n'offre pas de prise en charge intégrée de la commande. Pour un exemple complet de raccordement de commandes à plusieurs sources, consultez l'exemple Créer un RoutedCommand personnalisé, exemple.

Windows Vista

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0
Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft. Tous droits réservés.