【问题标题】:Why do WPF apps look like web pages?为什么 WPF 应用程序看起来像网页?
【发布时间】:2010-12-13 16:50:21
【问题描述】:

我为我的新手问题道歉,为什么 WPF 应用程序看起来像网页?

我是 gui 新手,仍在购买一本书来学习 gui 编程。推动似乎是 WPF 的方向,但我见过的 WPF 应用程序的所有屏幕截图看起来都像廉价的网页。坦率地说,我会为出售一个看起来像网页的应用程序感到羞耻。

我知道 WPF 是基于 XML 技术构建的,但是您不能在 Visual Studio 中构建正常外观的 WPF 应用程序(通过按钮(“widget”))拖放吗?换句话说,一个看起来不像网页的应用?

当 WPF 不提供相同的标准应用程序外观时,它如何替代 WinForms 等?

【问题讨论】:

  • Visual Studio 2010 是一个 WPF 应用程序。在我看来,它肯定不像网页!

标签: wpf


【解决方案1】:

公认的 WPF 应用程序的默认外观相当简单,但 WPF 允许对应用程序的外观进行前所未有的控制。

这里有一些示例,都是 WPF 应用程序。

【讨论】:

  • 谢谢,但所有这些应用程序看起来都像网络应用程序(对我来说),Office 示例是个例外。我不确定这意味着什么……这是否意味着如果您的团队中有一个超级忍者图形专家,您可以伪造自己的方式使应用程序看起来像原生?或者这是否意味着任何人都可以使用 WPF 制作具有零图形工作的原生应用程序(拖放和标准工作流程)?
  • 肯特的回答中没有 Office 示例。既然您不知道办公应用(MS 或 OOo)的外观,您确定您知道原生应用应该是什么样的吗?
  • @Batibix。应该清楚每个人都知道办公室是什么样子,并且应该清楚文本和按钮太小以至于每个人都无法在该屏幕截图中看到。特别是在我查看答案的小屏幕上。是 Visual Studio 还是 Office 是本主题中的一个小问题。
  • @USER440297 WPF 视图是用 xaml 编写的。 WPF 中的控件是无外观的,可以在视觉上操纵成任何东西。如果有人不知道如何操作,WPF 应用程序的外观实际上并没有限制。
【解决方案2】:

如果您要在 .net 下开发应用程序并且能够以 .net 3.5 或更高版本为目标,您将需要使用 wpf。如果您不太了解 ui 技术并想使用 .net,那么了解 windows 窗体很有用但不是必需的。不管怎样,你应该学习 wpf。

我在使用该框架时发现的 2 个好处: - 将品牌和自定义交互性注入您的应用程序非常容易。当您的销售人员决定要蓝色而不是红色时,很容易更改这些。 - 组件在屏幕上的组织方式像网页一样是相关的,而不是像 Windows 窗体那样基于坐标。这对于翻译后的字符串会改变长度(例如英语到德语)的情况是理想的。在通常情况下,用户界面会在运行时自动调整大小以使其适合。

如果您只是添加控件而不改变任何东西的样式,您的第一个 wpf 应用程序看起来几乎与本机 win32 应用程序相同。改变这一点很容易,但无论您选择哪种“外观”,您都将取得很好的效果。 Microsoft 还提供工具来创建看起来像本机按钮的新 ui 组件。还有许多其他功能可以让您在学习时微笑!

这不是技术说明,但目前 wpf 是一项非常畅销的技能,在简历上看起来很棒!公司希望在他们的应用程序中树立良好的品牌形象。 Wpf 有助于实现这一目标。

【讨论】:

    【解决方案3】:

    WPF 确实提供了与默认外观相同的应用外观。当您将控件拖放到设计图面上时(就像在 Windows 窗体、MFC 中一样),控件的外观与您期望它们在当前主题下的外观一样。您可能已经在不知不觉中看到了相当多的 WPF 应用程序。只是因为它们看起来像任何其他应用程序。

    您可能会看到更多基于 WPF 的应用程序具有某种自定义外观和感觉的原因很简单,因为 在 GUI 上做任何您喜欢的事情要比在任何界面中做任何事情都容易任何平台上的其他 GUI 框架。这既是福也是祸。当您绝对灵活时,很容易做绝对可怕的事情。

    【讨论】:

    • 那么您的意思是 WPF 允许使用拖放和标准工作流程制作具有原生窗口外观的应用程序?我讨厌不得不在 Photoshop 中制作按钮,然后花费数月时间试图让我的应用程序看起来像原生 Windows 应用程序。我在当地书店的书架上看到的几本书构建了看起来很简单的 Web 应用程序。因此我很困惑。
    • 是的。试一试吧。 (例如,使用 Visual c# Express 或 Blend 4 试用版)。顺便说一句:Photoshop 不是设计师用于 WPF 的工具,它更像是 Adob​​e Illustator 和 Expression Blend 之类的。
    【解决方案4】:

    user440267,我相信 WPF 中的大多数应用程序都是使用普通 Windows 构建的。但是有一个选项,我们不创建一个窗口,而是创建一个页面,它的行为就像你想象的那样。

    【讨论】:

      猜你喜欢
      • 2010-12-02
      • 1970-01-01
      • 2021-01-24
      • 2011-04-29
      • 2019-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多