没有使用Visual Studio可以使用WPF吗?

8

不使用Visual Studio(或任何其他IDE),仅在Vim和命令行中编写和编译WPF应用程序是否可行?您推荐哪些资源供尝试此操作的人使用?

6个回答

9
基本上,WPF是基于XAML(XML的变体)和C#、VB.NET或其他.NET语言作为其后端语言。因此这是可能的
问题实际上是它是否实用并且是否有意义。我非常怀疑。WPF完全关注视觉设计,如果没有可视化设计工具(无论是Visual Studio中内置的一个,最好是2010版本;还是其他可视化设计工具),想要编写WPF似乎有点傻。
至于资源-至少需要一个文本编辑器,然后一定要有几本好的WPF书籍,您可以利用.NET框架自带的C#或VB.NET编译器。

4
此外,如果没有视觉设计师,要准确地处理细节并进行编辑、编译和测试是非常困难的。为了避免繁琐的编辑-编译-测试过程,需要有视觉设计师的支持。 - James Keesey
您的Expression Blend链接已损坏。 - Xantium
1
这个答案在我看来似乎是错误的,根据我的 Android 编程经验;Android 也像 C# 一样专注于 GUI 开发的易用性。我所有的应用程序都是在手机上使用简单的文本编辑器和 AndroidBuilder 或 AIDE 创建的,没有使用设计师。在脑海中或纸上勾画 UI 设计并将其对齐像素并不难。 - user13947194

9
我发现自己在一些需要快速创建UI但无法加载IDE的情况下,经常使用记事本编写XAML。这实际上非常简单,几乎与使用IDE一样快,但主要优势在于像Blend或VS.NET这样的IDE可以快速将颜色和动画设置得“恰到好处”。
我在Stack Overflow上经常在文本编辑器中编写XAML或C#。只有在需要测试某些东西时才会启动Visual Studio。
我创建WPF应用程序而没有使用IDE的主要建议是:
首先,您应该适当使用WPF的布局系统,在可能的情况下使用适当的面板和“自动”大小调整。例如,如果您想要一堆带有一些间距的按钮,请创建一个,并在每个按钮上添加Margin="4"或其他值。这是良好的设计方式。大多数初学者将其视为没有布局功能的WinForms,这是一种遗憾。WPF具有非常强大的布局引擎,应该加以利用。如果这样做,就永远不需要使用图形纸或测量工具了。此外,如果更改字体大小或对象大于预期,则您的UI将自动调整其布局。
其次,除非项目非常简单,否则应使用msbuild。msbuild随NET Framework一起安装,因此始终可用。文件格式非常容易使用文本编辑器进行编辑,比具有适当的“csc”命令的批处理文件更好,因为它允许您使用代码后台,并且在添加新源文件时不太容易出错。
第三,在编辑器之外保持一个PowerShell命令行窗口,其中包含运行“msbuild”并执行应用程序的命令。然后只需Alt-Tab到此窗口并按uparrow,Enter即可运行应用程序。某些文本编辑器具有直接从编辑器内部执行用户定义命令并查看输出的能力,在这种情况下,此第二个窗口是不必要的。
第四,随时准备好cordbg或mdbg的副本。虽然IDE是进行调试的理想场所,但任何调试器都比没有更好。如果您停在断点处并检查变量,则可以更快地找到问题,而不是仅编辑代码并重新运行。
第五,使用“ColorPad”或类似的应用程序选择要使用的颜色。仅猜测并以十六进制输入您的最佳猜测值并不起作用。
对于资源,我建议您获取书籍“WPF Unleashed”并通过示例进行学习。我还会阅读许多其他人的XAML,例如可以在CodePlex上找到的内容。

5
可能性是存在的,但实际操作并不可行。 对于生产工作,我会考虑使用Microsoft Expression Blend 3。然后将XAML复制并粘贴到您选择的编辑器中,并从命令行编译。 您可以下载KAXAML。它是一个免费的轻量级编辑器。我发现它很适合学习XAML并了解微小的更改和调整如何影响整体设计。 XAML只是普通的文本,因此找一个免费的编辑器(KAXAML),使用它,如果必要,将其粘贴到您的编辑器中。

1
但是 Blender 算作一个 IDE 吗? - ChrisF
1
当然可以,但我也先加了一句“用于生产工作”。如果有人想使用文本编辑器和方格纸,随意。如果你要做XAML并想要高效率的话,你真的需要看看一个集成开发环境(IDE)。 - DenaliHardtail
1
我假设gamedevv这样做是为了学习目的,因为(冒险猜测)没有任何公司会期望开发人员使用纯文本编辑器编写XAML生产代码。使用IDE可以提高你的生产力。 - DenaliHardtail
@Scott - 我不想在除了集成开发环境之外的任何东西中设计生产代码。但这会让你对语法和结构有更深入的了解。 - ChrisF
警告:不要点击此答案中的链接。它会跳转到一个完全不安全的网站。我真的希望我不会因此遇到麻烦。也许它曾经链接到其他地方。 - abaga129

3
如果你真的想走这条路,我建议你买一些方形的图纸和尖笔。
在上面画出你的设计,读取位置并将其输入到你选择的编辑器中。
其中一个好处是你会有一个纸质原型可以展示给别人 ;)
正如James Keeseymarc_s's的回答评论中指出的那样,你的编辑-编译-测试循环将会很痛苦。

2
这是可能的。虽然我认为这不太实用。
说实话,我从事专业的 WPF 开发,并且关闭了可视化设计器。我更喜欢手动编辑 XAML,就像编写 HTML 一样。然而,IDE 的好处远不止可视化设计器。有智能感知、调试和许多其他宝贵的功能。
实际上,我必须质疑你的动机。你想获得什么?Visual Studio Express 版本完全支持 WPF 开发,因此这不能或者不应该是一个成本问题。

1
最新版本(3.0)现在支持wpf模板。
只需从https://dotnet.microsoft.com/下载即可。
只需在控制台中输入:
dotnet new wpf -o wpfHello
cd wpfHello
code .
问候 :-)

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