4 people like it.
Like the snippet!
WPF Event to Command
This snippet provides an example of a WPF Event to Command behavior.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
|
open System
open System.Windows
open System.Windows.Input
open System.Windows.Interactivity
type EventToCommand() =
inherit TriggerAction<DependencyObject>()
[<DefaultValue(false)>] static val mutable private CommandProperty:DependencyProperty
[<DefaultValue(false)>] static val mutable private CommandParameterProperty:DependencyProperty
/// Set the command dependency property
static do
EventToCommand.CommandProperty <-
DependencyProperty.Register("Command", typeof<ICommand>, typeof<EventToCommand>)
/// Set the command parameter dependency property
static do
EventToCommand.CommandParameterProperty <-
DependencyProperty.Register("CommandParameter", typeof<obj>, typeof<EventToCommand>)
/// Get/Set the Command
member this.Command
with get() = this.GetValue EventToCommand.CommandProperty :?> ICommand
and set value = this.SetValue(EventToCommand.CommandProperty, value)
/// Get/Set the CommandParameter
member this.CommandParameter
with get() = this.GetValue EventToCommand.CommandParameterProperty
and set value = this.SetValue(EventToCommand.CommandParameterProperty, value)
/// Implement the Invoke method from TriggerAction to execute the command
override this.Invoke parameter =
let command = this.Command
let commandParameter = match this.CommandParameter with
| null -> parameter
| commandParam -> commandParam
if command <> null && command.CanExecute(commandParameter) then
command.Execute(commandParameter)
|
namespace System
namespace System.Windows
Multiple items
type EventToCommand =
inherit obj
new : unit -> EventToCommand
override Invoke : parameter:'a -> 'b
member Command : 'a
member CommandParameter : 'a
member Command : 'a with set
member CommandParameter : 'a with set
static val mutable private CommandProperty: obj
static val mutable private CommandParameterProperty: obj
Full name: Script.EventToCommand
--------------------
new : unit -> EventToCommand
Multiple items
type DefaultValueAttribute =
inherit Attribute
new : unit -> DefaultValueAttribute
new : check:bool -> DefaultValueAttribute
member Check : bool
Full name: Microsoft.FSharp.Core.DefaultValueAttribute
--------------------
new : unit -> DefaultValueAttribute
new : check:bool -> DefaultValueAttribute
EventToCommand.CommandProperty: obj
EventToCommand.CommandParameterProperty: obj
val typeof<'T> : Type
Full name: Microsoft.FSharp.Core.Operators.typeof
type obj = Object
Full name: Microsoft.FSharp.Core.obj
member EventToCommand.Command : 'a with set
Full name: Script.EventToCommand.Command
Set the command dependency property
Set the command parameter dependency property
Get/Set the Command
val set : elements:seq<'T> -> Set<'T> (requires comparison)
Full name: Microsoft.FSharp.Core.ExtraTopLevelOperators.set
member EventToCommand.CommandParameter : 'a with set
Full name: Script.EventToCommand.CommandParameter
Get/Set the CommandParameter
override EventToCommand.Invoke : parameter:'a -> 'b
Full name: Script.EventToCommand.Invoke
Implement the Invoke method from TriggerAction to execute the command
More information