//--------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // //--------------------------------------------------------------------------- using System; using System.ComponentModel; using System.Runtime.CompilerServices; using System.Windows.Markup; namespace System.Windows.Input { class BuildInfo{ public const string WCP_VERSION="4.0.0.0"; public const string WCP_PUBLIC_KEY_TOKEN="31bf3856ad364e35"; } /// /// An interface that allows an application author to define a method to be invoked. /// [TypeForwardedFrom("PresentationCore, Version=" + BuildInfo.WCP_VERSION + ", Culture=neutral, PublicKeyToken=" + BuildInfo.WCP_PUBLIC_KEY_TOKEN)] [TypeConverter("System.Windows.Input.CommandConverter, PresentationFramework, Version=" + BuildInfo.WCP_VERSION + ", Culture=neutral, PublicKeyToken=" + BuildInfo.WCP_PUBLIC_KEY_TOKEN + ", Custom=null")] [ValueSerializer("System.Windows.Input.CommandValueSerializer, PresentationFramework, Version=" + BuildInfo.WCP_VERSION + ", Culture=neutral, PublicKeyToken=" + BuildInfo.WCP_PUBLIC_KEY_TOKEN + ", Custom=null")] public interface ICommand { /// /// Raised when the ability of the command to execute has changed. /// event EventHandler CanExecuteChanged; /// /// Returns whether the command can be executed. /// /// A parameter that may be used in executing the command. This parameter may be ignored by some implementations. /// true if the command can be executed with the given parameter and current state. false otherwise. bool CanExecute(object parameter); /// /// Defines the method that should be executed when the command is executed. /// /// A parameter that may be used in executing the command. This parameter may be ignored by some implementations. void Execute(object parameter); } }