我想在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有一个简单的方法来建立联系吗?
发布于 2015-06-15 17:56:51
由于没有代码隐藏,所以不能从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)和绑定来引发命令,参见用于F# Windows的Visual模板(WPF,MVVM)
https://stackoverflow.com/questions/30806808
复制相似问题