如何创建具有完全自定义用户界面的 C# 程序? [关闭]

Posted

技术标签:

【中文标题】如何创建具有完全自定义用户界面的 C# 程序? [关闭]【英文标题】:How to create C# program with completely custom user interface? [closed] 【发布时间】:2014-03-11 01:53:48 【问题描述】:

几年前,我尝试使用 C# 进行编程,当时它似乎提供了一种灵活的方式来构建用户界面。例如,有一个用于创建 UI 的编辑器。 我刚刚下载了 Visual Studio Express 2013,它似乎已经完全改变了。在我能看到的任何地方都没有 UI 编辑器,并且有一个奇怪的 XAML 文件在任何明显的地方都没有记录,并且没有来自 Microsoft 的示例程序似乎与 Visual Studio Express 2013 兼容。 如何创建 UI 并将其外观控制到像素?还是不再允许? 我是否应该考虑完全跳过 Visual Studio Express 而只使用 Makefile 构建? 谢谢。

【问题讨论】:

这是在开玩笑吗?? is not documented anywhere obvious 真的吗?最明显的地方——MSDN呢? 【参考方案1】:

Professional Windows UIs 不是使用拖放技术创建的。

您过去使用的称为“winforms”。这是一项非常古老的技术,并非旨在创建丰富、高度交互的 UI。不,它远非“灵活”。它不允许任何类型的定制,它迫使你要么使用默认的、丑陋的东西,要么诉诸无尽的可怕黑客地狱来定制任何东西。它展示了一种“用更多代码做更少”过程类型的方法,而不是“用更少做更多”您在基于 XAML 的技术中发现的声明式美感。 不建议用于任何新项目,仅用于维护旧版应用程序。

如果您认真对待 Windows UI 设计,则需要学习 XAML 并使用任何基于 XAML 的技术,例如 WPFWinRT

如果您认真对待应用程序结构并正确构建 Windows 应用程序的不同层,则需要学习 MVVMDataBinding

如果您想创建一个完全自定义的 UI,您需要为您的控件创建自定义 Styles and Templates。如果需要,您可以使用 Expression Blend,或者使用纯手写 XAML 创建这些。

在 MSDN 和非官方来源(如 ***)上都有大量关于所有这些主题的文档。请参阅此答案中的所有链接来源。

1234563 Drawbacks of using the Visual Studio designer drag and drop approach to create XAML-Based UIs

【讨论】:

【参考方案2】:

我不完全确定您在说什么,但在 Visual Studio 和 C# 中有两个独立的 UI 框架。 Winforms,您可能在几年前使用过,而 WPF(Windows Presentation Foundation)是一种使用 XAML 标记来定义您的界面的更新技术。

两者都通过单击 .cs(用于 WinForms)或 .xaml(用于 WPF)文件在 Visual Studio 中提供可视化编辑器。创建项目时,请确认您选择了两者中的哪一个。

我还想指出,当您选择并创建这些类型的项目时,Visual Studio 默认会打开可视化 UI 编辑器。

如果您想了解后一种技术 (WPF),请参阅此处:http://msdn.microsoft.com/en-us/library/aa970268(v=vs.110).aspx

【讨论】:

以上是关于如何创建具有完全自定义用户界面的 C# 程序? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何从自定义用户控件 WPF、C# 中的枚举自定义属性中获取值?

滚动 mapView 或点击标记时,如何创建具有自定义注释和区域焦点的地图?

Mandrill 中的新 API 密钥默认具有对您帐户的完全访问权限 - 您可以自定义吗?

如何使用 C# 启动具有特定 URL 的 Google Chrome 选项卡

C# 自定义VS安装项目的安装路径(可以通过程序调用DefaultLocation属性吗)

C#中如何实现WPF调用Winform中用户自定义的控件呢?