Я пытаюсь создать приложение Button Hello World с F #, WPF и FsXaml. Я начал следовать этому руководству:
https://www.c -sharpcorner.com / статьи / создания-МОФ-приложение-с-фа-диез-и-fsxaml /
Все работает нормально, когда я просто загружаю вещи в xaml и компилирую, но мне не удалось вызвать функцию нажатием кнопки, и руководство заканчивается, прежде чем он объясняет, как вызывать функции.
Я видел много разных подходов, но у меня пока ничего не получалось (и многим из них уже несколько лет, поэтому с тех пор многое произошло внутри фреймворков). Было бы здорово иметь работающую (и простую) отправную точку, которую я мог бы начать строить, как только я пойму логику между x.xaml и x.xaml.fs при использовании FsXaml.
Моя кнопка на MainWindow.xaml:
<Button x:Name="submitButton" Content="Send" Click="submitButton_Click"/>
Также у меня есть это в разделе окна MainWindow.xaml:
xmlns:local="clr-namespace:Views;assembly=GUItemplate"
My MainWindow.xaml.fs:
namespace GUItemplate
open FsXaml
open System.Windows
type MainWindowBase = XAML<"MainWindow.xaml">
type MainWindow() =
inherit MainWindowBase()
override this.submitButton_Click (sender: obj, e: RoutedEventArgs) =
MessageBox.Show("Hello world!")
|> ignore
Ошибка, которую я получаю в настоящее время:
System.Windows.Markup.XamlParseException
HResult=0x80131501
Message='Failed to create a 'Click' from the text 'submitButton_Click'.' Line number '29' and line position '101'.
Source=PresentationFramework
Inner Exception 1:
ArgumentException: Cannot bind to the target method because its signature or security transparency is not compatible with that of the delegate type.