我长时间寻找解决这个问题的方法,但没有成功。
我正在将我的一些C#代码移植到F#,并且我在处理WPF元素的Dispatcher.Invoke时遇到了困难。由于我在F#方面是一个完全的新手,唯一确定的事情就是问题出现在键盘和椅子之间。
以下是我的C#代码:
foreach (var k in ChartList.Keys)
{
ChartList[k].Dispatcher.Invoke(
System.Windows.Threading.DispatcherPriority.Normal,
new Action(
delegate()
{
ChartList[k].Width = area.Width / totalColsForm;
ChartList[k].Height = area.Height / totalRowsForm;
ChartList[k].Left = area.X + ChartList[k].Width * currentCol;
ChartList[k].Top = area.Y + ChartList[k].Height * currentRow;
ChartList[k].doShow();
}
));
}
我遇到困难的部分是新的Action(delegate() ... )。编译器不喜欢我任何尝试翻译它。
这段代码在 F# 中的翻译是什么?
fun () -> ...
或Action(fun () -> ...)
能够工作。 - Daniel