这个问题让我抓狂了。大致情况如下:
我有一个解决方案中的两个项目:第一个是F#控制台应用程序,第二个是C#库,其中有一个名为
问题是:从我的F#程序中,我需要创建一个函数
编辑:我发现了这篇博客文章http://deanchalk.com/2010/10/08/f-interacting-with-wpf-dispatcher-via-f-interactive-window/,它可以工作,但有时会导致ArgumentException并显示错误文本“已存在具有相同键的条目。”,所以我不知道发生了什么 :(
我有一个解决方案中的两个项目:第一个是F#控制台应用程序,第二个是C#库,其中有一个名为
DisplayWindow
的C#+XAML类,该类继承自WPF窗口。 DisplayWindow
有一个方法public void SetMessage(string s) {...}
,使窗口以大而光亮的字母显示传递给它的文本,可能还会闪烁和旋转等WPF擅长的一切。问题是:从我的F#程序中,我需要创建一个函数
let openAWindow text = ???
,以便每次使用文本调用它时都会异步打开一个新的DisplayWindow
。最佳方法是什么?使用async {}
还是System.Threading.Thread
?感谢您的帮助 :)编辑:我发现了这篇博客文章http://deanchalk.com/2010/10/08/f-interacting-with-wpf-dispatcher-via-f-interactive-window/,它可以工作,但有时会导致ArgumentException并显示错误文本“已存在具有相同键的条目。”,所以我不知道发生了什么 :(
Application.Run
的主UI线程?如果是这样:如果你需要从其他线程访问UI元素,请按照此答案中所述进行操作:http://stackoverflow.com/questions/1115132/stathread-as-async-workflow-in-f - wmeyer