Я не понимаю, как работают с командами в WPF. Например, у меня есть xaml-файл вроде этого:
MainWindow.xaml:
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="assembly=FSharpOnly"
xmlns:Commands="clr-namespace:View.Commands"
Title="Sample F# WPF Application Written Only in F#"
Height="700"
Width="900">
<DockPanel LastChildFill="True">
<TextBlock DockPanel.Dock="Bottom" Background="Aqua"></TextBlock>
<TextBox DockPanel.Dock="Right" Background="Brown" Width="200"></TextBox>
<WrapPanel DockPanel.Dock="Top" Background="DimGray">
<Button Margin="3" Command="Commands:load_tests_command">Загрузить проверки</Button>
<Button Margin="3">Обновить проверки</Button>
</WrapPanel>
<TextBox DockPanel.Dock="Left" Background="Beige">Текст слева</TextBox>
</DockPanel>
</Window>
и файл, в котором я хочу определить команду load_tests
:
module View.Commands
open System.Windows.Input
open TestLoader
(* commands *)
type LoadTestsCommand () =
interface ICommand with
member this.CanExecute (obj) = true
member this.Execute (obj) = reload_tests()
member this.add_CanExecuteChanged (obj) = ()
member this.remove_CanExecuteChanged (obj) = ()
let load_tests_command =
LoadTestsCommand()
Что нужно изменить, чтобы оно заработало? Желательно самый простой способ.