【发布时间】:2015-04-01 05:50:48
【问题描述】:
在不接触 Visual Studio(或任何其他 IDE)的情况下创建 WPF 应用程序是否可行?就像在 Vim 和命令行中完全编码和编译一样?您会向尝试这样做的人推荐哪些资源?
【问题讨论】:
标签: wpf
在不接触 Visual Studio(或任何其他 IDE)的情况下创建 WPF 应用程序是否可行?就像在 Vim 和命令行中完全编码和编译一样?您会向尝试这样做的人推荐哪些资源?
【问题讨论】:
标签: wpf
这是可能,因为 WPF 基本上是基于 XAML(XML 的一种变体)和 C# 或 VB.NET 或另一种 .NET 语言作为其后端语言。
问题真的是这是否实用以及是否有意义 - 我非常怀疑。 WPF 是关于视觉设计的,例如完全没有可视化设计器(Visual Studio 中的内置设计器,最好是 2010 版;或其他可视化设计器),想要编写 WPF 似乎有点傻……
至于资源——好吧,至少一个文本编辑器是必须的,然后肯定是几本关于 WPF 的好书,你可以利用 .NET 框架附带的 C# 或 VB.NET 编译器。
【讨论】:
可能,是的。实用号
对于生产工作,我会考虑使用 Microsoft Expression Blend 3。然后复制 XAML 并将其粘贴到您选择的编辑器中,然后从命令行编译。
您可以下载KAXAML 。这是一个免费的轻量级编辑器。我发现它有助于了解 XAML 并了解细微的更改和调整如何影响整体设计。
XAML 是纯旧文本,因此请找到免费的编辑器 (KAXAML) 并使用它,如果必须,请将其粘贴到您的编辑器中。
【讨论】:
如果你真的想走这条路,我建议你准备一些方格纸和一支锋利的铅笔。
在上面画出你的设计,读出位置并将它们输入到你选择的编辑器中。
这样做的一个好处是您将有一个纸质原型向人们展示;)
正如James Keesey 在他对marc_s's 答案的评论中指出的那样,您的编辑-编译-测试周期将会很痛苦。
【讨论】:
这绝对是可能的。不过,我会说这不实用。
老实说,我从事专业的 WPF 开发,而且我是在关闭视觉设计师的情况下进行的。我更喜欢手动编辑 XAML,就像我编写 HTML 一样。但是,IDE 的好处远远超出了可视化设计器。有IntelliSense、调试和许多其他宝贵的功能。
真的,我必须质疑你的动机。你想得到什么? Visual Studio Express 版本完全支持 WPF 开发,因此它不能或不应该是成本问题。
【讨论】:
我发现自己在很多情况下都需要在记事本中编写 XAML,但我需要创建一个快速的 UI 但无法加载 IDE。这真的很简单,几乎 - 但不完全 - 与使用 IDE 一样快。 Blend 或 VS.NET 等 IDE 的主要优势在于快速让颜色和动画等内容“恰到好处”。
我经常在文本编辑器中编写 XAML 或 C# 的另一个场合是 Stack Overflow。我只在需要测试某些东西时才启动 Visual Studio。
我对在没有 IDE 的情况下创建 WPF 应用程序的主要建议是:
首先,您应该正确使用 WPF 的布局系统,尽可能使用适当的面板和“自动”调整大小。例如,如果您想要一堆按钮之间有一些空间,请创建一个<StackPanel>,并在每个按钮上添加Margin="4" 或其他任何内容。无论如何,这是一个很好的设计。大多数初级 WPF 程序员将其视为没有布局功能的 WinForms,这是一种耻辱。 WPF 有一个非常强大的布局引擎,应该使用它。如果是这样,就永远不需要方格纸或测量值。此外,如果您更改字体大小或对象大于预期,您的 UI 将自动调整其布局。
其次,您应该为您的项目使用 msbuild,除非它非常简单。 msbuild 与 NET Framework 一起安装,因此它始终可用。该文件格式很容易使用文本编辑器进行编辑,并且比使用适当的“csc”命令的批处理文件要好得多,因为它允许您使用代码隐藏并且在添加新源文件时不易出错。
第三,保持打开的 PowerShell 命令行窗口与编辑器分开,使用运行“msbuild”的命令,然后执行您的应用程序。要运行您的应用程序,只需 Alt-Tab 到此窗口并按向上箭头、Enter。一些文本编辑器能够直接从编辑器中执行用户定义的命令并查看输出,在这种情况下,不需要第二个窗口。
第四,随身携带一份cordbg或mdbg的副本。尽管 IDE 是进行调试的理想场所,但任何调试器总比没有好。如果你在断点处停下来检查变量,你会发现你的问题比你继续编辑代码并重新运行要快得多。
第五,使用“ColorPad”或类似的应用程序来选择您要使用的颜色。仅仅猜测并以十六进制输入你最好的猜测是行不通的。
对于资源,我建议您阅读“WPF Unleashed”一书并研究示例。我还会阅读很多其他人的 XAML,比如可以在 CodePlex 上找到。
【讨论】:
最新版本 (3.0) 现在支持 wpf 模板。
只需从以下地址下载:https://dotnet.microsoft.com/
只需输入控制台:
dotnet new wpf -o wpfHello
cd wpfHello
代码。
问候 :-)
【讨论】: