Я не понимаю, как работать с командами в WPF. Например, у меня есть XAML-файл, как это:F # Команды WPF
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()
Что нужно изменить, чтобы сделай так, чтоб это работало? Предпочтительно самый простой способ.
Это довольно смутный вопрос - что вы пробовали до сих пор? Или у вас есть образец C#, который вы хотите перевести на F #? –
У меня нет источников C#. Я пытаюсь сделать команду, которая вызывает некоторую функцию из некоторого модуля. И привязка этой команды к некоторому управлению (кнопка в коде темы). – psct
Не совсем ответ на ваш вопрос, но Даниэль Мохл собрал несколько отличных шаблонов для использования F # с WP7. Как следствие, у них отличные примеры использования F # с WPF/Xaml. Вы можете посмотреть его шаблоны - они находятся в Visual Studio Gallery –