Wpf 从.fs文件中的.xaml文件引用事件
我想在XAML文件中声明一个事件,然后在fs文件中添加一个处理程序 XAML文件的上部类似(MouseRightButtonDown):Wpf 从.fs文件中的.xaml文件引用事件,wpf,xaml,f#,fsxaml,Wpf,Xaml,F#,Fsxaml,我想在XAML文件中声明一个事件,然后在fs文件中添加一个处理程序 XAML文件的上部类似(MouseRightButtonDown): ... F#文件包含: open FsXaml type MainWindow = XAML<"MainWindow.xaml", true> let mainwnd = new MainWindow() let wnd = mainwnd.Root 打开FsXaml 类型MainWindow=XAML 让mainwnd=newmainw
...
F#文件包含:
open FsXaml
type MainWindow = XAML<"MainWindow.xaml", true>
let mainwnd = new MainWindow()
let wnd = mainwnd.Root
打开FsXaml
类型MainWindow=XAML
让mainwnd=newmainwindow()
设wnd=mainwnd.Root
有没有一种简单的方法来创建链接?由于没有代码,您无法从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)和绑定来发出命令,例如,我同意,设计模式是可行的。看起来很有趣。请注意,使用fsxaml2+,您实际上可以在类型本身中执行此操作。但是,您仍然需要自己连接它,因为我不提供事件的直接连接。我考虑过这一点,但考虑到命令的易用性,这需要做很多零碎的工作,而这些工作几乎没有什么好处/抄送@Funk@ReedCopsey我同意,当我们有命令并且仍然可以在“代码隐藏”中执行时,不需要直接连接。谢谢你的升级,这会让事情变得更顺利。
wnd.MouseRightButtonDown.Add(fun _ -> MessageBox.Show("Click!") |> ignore)