开始学习 F# Windows 应用程序,我找不到可用的示例或教程。

3

我已经有一段时间没有编程了,想组合一个简单的实用程序,用于从SQL服务器上的多个数据库中收集数据。

我想象中的这个应用程序相当简单,它将连接到一个SQL服务器,有一个设置查询的地方,该查询将使用命名参数(数据库名称、小部件等)填充列表,并且有一个输入文本的部分,其中包含将被替换的标记。

在下面,我希望有一个网格,即使查询尚未全部完成,也可以更新自己。这对我来说似乎是学习F#的好方法,因为我正要构建一个使用C#来实现这一点的应用程序,但是今天花了六个小时后,我还没有进展。有没有人能推荐一个非常基本的教程网站和可以直接运行的示例呢?

以下是我今天做的事情,但都不起作用:

  • 从MSDN下载了VS2012 Ultimate RC。
  • 去了在线画廊并安装了六个不同的示例项目。
  • 打开每个示例项目并运行,但没有一个真正运行。

关于这些示例是否过时或者我的环境是否有误,我找到的信息太少了,无法确定这是否是预期行为(即示例过时)或者我的环境有误(即使我今天刚刚重新安装了所有内容)。

如果我能找到一个连接到Adventure Works并在网格中加载记录列表的最简单的应用程序,那么我就可以大大提高自己的水平,而现在我卡住了。如果这不是提问的正确地方,我希望得到建议,如果这只是一个愚蠢的想法,使用F#和fsharpx永远不应该尝试,我也欢迎您的反馈,然后我将尝试弄清楚如何在C#中实现这一点。

1个回答

9

使用F#编写的基础GUI应用程序只需:

open System.Windows

[<System.STAThread>]
do
  Application().Run(Window()) |> ignore

你需要引用PresentationCorePresentationFrameworkSystem.XamlWindowsBase
然后只需向窗口添加GUI控件,并通过事件连接它们。为了获得流畅的用户体验,我建议使用异步工作流和MailboxProcessor,因为它们使UI线程和后台工作者之间的并发变得非常容易。我写了一篇关于使用WPF和SQL Server编写GUI应用程序的文章这里(注意:需要付费)。

27
这里似乎发生了一点小争执;Jon,你可能需要查看这个元问题。为了礼貌起见(为了设置期望,避免问题),标记付费墙链接是个好主意;一篇文章链接的通常期望是它会包含实际内容。 - Marc Gravell
6
关闭这个问题的原因主要是因为没有一个真正的问题。更好的示例应该是:“我下载了这段代码... 当我尝试编译它时,我收到了这个错误信息... 我已经尝试了...和...但现在卡住了。” - John Palmer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接