在 .fs 文件中引用来自 .xaml 文件的事件
Referencing event from .xaml file in .fs file
我想在 XAML 文件中声明一个事件,然后在 fs 文件中添加一个处理程序。
XAML 文件的上半部分类似于 (MouseRightButtonDown):
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="AboutStack" MouseRightButtonDown="AboutStack_MouseRightButtonDown"
Title="About" SizeToContent="WidthAndHeight">
<StackPanel>...
F# 文件包含:
open FsXaml
type MainWindow = XAML<"MainWindow.xaml", true>
let mainwnd = new MainWindow()
let wnd = mainwnd.Root
有没有简单的方法来制作 link?
由于没有代码隐藏,您无法从 XAML 调用该方法,但需要从外部附加它:
let AboutStack_MouseRightButtonDown args =
// do whatever you want, return unit
wnd.MouseRightButtonDown.Add(AboutStack_MouseRightButtonDown)
或例如
wnd.MouseRightButtonDown.Add(fun _ -> MessageBox.Show("Click!") |> ignore)
另一种方法是使用模型 (DataContext) 和绑定来发出命令,参见 Visual Studio Template for F# Windows App (WPF, MVVM)
我想在 XAML 文件中声明一个事件,然后在 fs 文件中添加一个处理程序。
XAML 文件的上半部分类似于 (MouseRightButtonDown):
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="AboutStack" MouseRightButtonDown="AboutStack_MouseRightButtonDown"
Title="About" SizeToContent="WidthAndHeight">
<StackPanel>...
F# 文件包含:
open FsXaml
type MainWindow = XAML<"MainWindow.xaml", true>
let mainwnd = new MainWindow()
let wnd = mainwnd.Root
有没有简单的方法来制作 link?
由于没有代码隐藏,您无法从 XAML 调用该方法,但需要从外部附加它:
let AboutStack_MouseRightButtonDown args =
// do whatever you want, return unit
wnd.MouseRightButtonDown.Add(AboutStack_MouseRightButtonDown)
或例如
wnd.MouseRightButtonDown.Add(fun _ -> MessageBox.Show("Click!") |> ignore)
另一种方法是使用模型 (DataContext) 和绑定来发出命令,参见 Visual Studio Template for F# Windows App (WPF, MVVM)