1

我正在 F# 中试验 WPF。Visual Studio 2012 有几个在线项目模板:

  • F# 和 C# 混合 MVVM。用于视图的标准 C# WPF 可执行文件和用于其余部分的 f# 库。
  • 纯 F# MVVM
  • 纯 F# 空

我从第一个选项开始,但后来切换到纯 f# 解决方案。还有一个问题我无法解决。

我不再在 VS 输出窗口中看到 printfn 结果。虽然如果我放一个断点,我会看到代码到达。

这是一个示例:

module MainApp
open System
open System.Windows
open System.Windows.Controls
open FSharpx

type MainWindow = XAML<"MainWindow.xaml">

let loadWindow() =
    let window = MainWindow()

    printfn "%s" "Test"

    window.Root

[<STAThread>]
(new Application()).Run(loadWindow()) |> ignore

这就是模板创建的 App.fs,只需添加一个 - printfn。输出 - 没有。

我想知道是什么让它与众不同。有任何想法吗?

4

2 回答 2

3

您可以使用System.Diagnostics.Debug.WriteLine写入 VS 输出窗口。必须定义TRACE常量,它在 Debug 中是默认的。

printfn写入标准输出,标准输出是控制台应用程序中的控制台窗口

于 2013-02-10T17:56:59.530 回答
2

或者,您可以将项目设置为控制台应用程序,这样您将拥有一个控制台窗口以及 WPF 窗口,并且您可以像往常一样使用 printfn。

于 2013-02-10T21:03:52.810 回答