我是 .Net、C# 和 WPF 程序员。表达混合值得吗?

发布于 2024-12-06 03:52:36 字数 284 浏览 3 评论 0原文

我的意思是,作为一名普通开发人员,是否有一些我可以使用 Expression Blend 实现而不会使用 VS 实现的功能?我不知道 Expression Blend,乍一看看起来不太友好/易于学习。

你在外面做什么?值得花时间学习使用它,还是我会像使用 VS 一样做?

谢谢!

编辑:我知道微软对这些工具的评价。我想知道的是,作为像我这样的开发人员,您是否尝试了 Expression Blend 并发现这是浪费时间,或者您认为这是一个很好的工具,然后停止从 VS 开发 WPF GUI 并切换到 EB。

I mean, as a normal developer, is there something that I will achieve with Expression Blend that I won't using VS? I have no idea of Expression Blend and at first sight didn't look very friendly / easy to learn.

What do you thing out there? It's worth the time learning to use it or I will do the same as I do with VS?

Thanks!

EDIT: I know what Microsoft says about the tools. What I want to know is if you, as a developer like me, tried Expression Blend and found that it was a waste of time or you thought it was a good tool and you stopped developing the WPF GUIs from VS and switched to EB.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

假装爱人 2024-12-13 03:52:36

我有,但很少用。

我非常不喜欢添加到 XAML 文件中的所有额外标记,并且更喜欢知道我正在做什么而不是拖/放项目。

我有几次使用它来提取控件的默认样式或模板,或者构建渐变、动画或路径等内容,然后将 XAML 复制/粘贴到我的项目中。

如果您热衷于拖放编码,或者如果您在一个足够大的团队中工作以拥有单独的 UI 和编码团队,那么这很好,但除此之外,我不会将其用于单独开发,因为我必须维护它生成的 XAML 混乱。

I have it and rarely use it.

I greatly dislike all the extra markup that gets added to the XAML files, and prefer to know what I'm doing to just dragging/dropping items.

The few times I have used it have been to pull out the default styles or templates of a control, or to build something like a gradient, animation, or path, and then copy/paste the XAML into my project.

It's nice if you're into drag/drop coding, or if you're working on a large enough team to be have a separate UI and Coding team, but other than that I don't use it for solo development since I have to maintain the XAML mess it generates.

≈。彩虹 2024-12-13 03:52:36

我停止在 VS 中开发 GUI,转而使用 Blend。起初我很困惑,但现在我很高兴我花时间学习 Blend。您可以在 Blend 中完成的大部分操作都可以在 Visual Studio 中完成,但 Blend 使它们变得更加容易(一旦您学会了如何操作)。当我向我的开发人员同事展示如何在 Blend 中执行某些操作时,我不断地让他们感到惊讶,因为简单的拖放操作就可以取代大量的打字工作。我真正喜欢 Blend 的一点是,它的设计界面很准确,而 Visual Studio 中的 Cider WPF 设计器经常对你撒谎或误导你(而且总体来说就是一堆废话)。

Blend 可以执行 Visual Studio 无法执行的以下操作:

  1. 创建和管理视觉状态。 (我猜你可以在 VS 中手动完成这一切,但这对于任何中等复杂的事情来说都是疯狂的。)
  2. 提取和修改控制模板。
  3. 轻松处理行为(我无法想象在 VS 中手动执行 FluidMoveBehavior)。
  4. 生成在设计时使用的示例数据(减少软件组件的耦合)。
  5. 所见即所得动画编辑器。 (在 VS 中,您必须运行应用程序才能看到动画;Blend 为您提供实时预览。)
  6. 内置过渡效果和缓动功能。
  7. SketchFlow(非常适合制作可以向客户/利益相关者展示的高保真模型)。
  8. 所见即所得路径编辑器(非常适合制作简单的矢量图形)。
  9. 所见即所得渐变编辑器。
  10. 从 Photoshop 和 Illustrator 导入图稿。

这些确实可以让您的用户体验与其他自由职业者区分开来。郑重声明,我是一名没有设计经验的开发人员。

I stopped developing GUIs in VS and switched to Blend. It was very confusing at first, but I'm now glad I took the time to learn Blend. Most things that you can do in Blend can be done in Visual Studio, but Blend makes them much easier (once you learn how to do it). I constantly astound my fellow developers when I show them how to do something in Blend because a simple drag and drop can replace quite a bit of typing. The thing I really like about Blend is that the design surface is accurate while the Cider WPF designer in Visual Studio often lies to you or misleads you (and is just a piece of crap in general).

Blend can do the following things that Visual Studio cannot:

  1. Create and manage visual states. (I guess you could do this all by hand in VS, but that's just insane for anything even moderately complex.)
  2. Extract and modify control templates.
  3. Easily work with behaviors (I can't imagine doing a FluidMoveBehavior by hand in VS).
  4. Generate sample data for use at design time (reduces coupling of your software components).
  5. WYSIWYG animation editor. (In VS you have to run the application to see the animations; Blend gives you live previews.)
  6. Built in transition effects and easing functions.
  7. SketchFlow (great for making a high fidelity mockup that you can show a client/stakeholder).
  8. WYSIWYG path editor (great for doing simple vector artwork).
  9. WYSIWYG gradient editor.
  10. Import artwork from Photoshop and Illustrator.

These are the sorts of things that can really set your user experience apart from every other freelancer out there. And for the record I'm a developer with no design experience.

待"谢繁草 2024-12-13 03:52:36
  1. 编辑默认样式要容易得多,因为您可以选择编辑副本,该选项将默认样式提取到新样式中,并且您可以更改它
  2. 我发现编辑其他样式(例如生成的内容)也非常有用轻松查看控件有哪些附加样式。
  3. 如果你正在制作动画,它会产生影响,因为你可以在设计时间实际看到它的表现如何
  4. 如果你的团队中有专门的设计师,这对他们来说更加友好,因为它类似于 Photoshop/Flash 编辑软件
  5. 从我的观点来看如果你在一个团队中工作,那么只需要很少的表达混合就足够了
  1. It's much easier to edit default styles as you have option Edit a copy which is extracting default style into the new one and you can change it
  2. I find also very useful to edit additional styles like generated content as you can easly see what additional styles control has.
  3. If you are doing animations it can make a difference as you can actually see during desgin time how is it behaving
  4. If you have a dedicated designer in your team it is much more friendly for them as it's similar to photoshop/flash editing software
  5. From my point of view if you are working in a team its enough to have only few expression blends
天冷不及心凉 2024-12-13 03:52:36

在处理 Silverlight、WPF 或 Windows Phone 项目时,我总是在 Visual Studio 旁边打开 Expression Blend,并在两者之间来回切换。这些是我的主要原因:

我在我的应用程序中使用了大量动画和视觉状态。为了创建这些,你想看看发生了什么。在视觉工作室中你还不能。用手编写真实的动画或视觉状态几乎是不可能的。

我也使用 Expression Blend 来管理资源。在 Blend 中创建新词典和移动资源非常容易。当您尝试删除在某个地方正在使用的资源时,它甚至会通知您。查找和编辑资源非常容易。只需单击一个按钮,属性就会转换为资源并准备在其他地方使用。

我经常使用的另一件事是样本数据。我希望在创建表格和列表时看到填充了数据的表格和列表。根据应用程序的状态,我手动创建示例数据、使用数据库的 xml 导出或从代码生成示例数据。

当您使用示例数据时,数据绑定变得更加容易。只需将属性拖放到文本框中即可获得绑定。通过数据绑定编辑器,您可以按照您想要的方式微调绑定。

I always have Expression Blend open next to Visual Studio and switch back and forth between the two when working on Silverlight, WPF or Windows Phone Projects. These are my main resons:

I use a lot of animations and visual states in my applications. To create these you would like to see what is going on. In the visual studio you can't (yet). It's almost impossible to write a real animation or visual state by hand.

Managing resources is something I use Expression Blend for too. Creating new dictionaries and moving resources around is very easy in Blend. It even notifies you when you try to delete a resouce you are using in some place. Finding and editing a resouce is very easy. With a click of a button a property is converted to a resource and ready for use in other places.

One other thing I use a lot is Sample Data. I would like to see my forms and lists filled with data when creating them. Depending on the state of the application I create sample data by hand, use an xml export from the database or generate sample data from code.

Databinding becomes a lot easier when you are using sample data. Just drag'n'drop the property on a textbox and you'll have a binding. Through the databinding editor you can finetune the binding the way you want.

看海 2024-12-13 03:52:36

我认为有一个简单的方法可以回答您的问题...您所要做的就是问自己在 Blend 中所做的任何事情的最终结果是什么?

答案是XAML。因此,如果此工具为您生成 XAML,那么您为什么不首先直接使用 XAML 呢? XAML 是人类可读的,很容易理解和掌握,并且在 VS Intellisense 和 Resharper 代码完成之间实际上不需要进行大量输入。

你投入在掌握 Blend 上的时间比投入在掌握 XAML 上要好得多,因为 Blend 只是一个用于以可视化方式生成 XAML 的工具,因此直接使用 XAML 意味着更好地理解底层技术并完全控制你的代码,而不是依赖使用一些黑匣子工具来生成你并不真正理解的东西。

如果您投入所有时间来掌握 Blend,但 6 个月后您最终加入了其他公司,而他们决定不使用 Blend,该怎么办?如果您不了解 XAML,那么您现在必须投入更多时间来学习它,如果您确实了解 XAML,那么您将可以很好地进入任何环境,因为我真的怀疑是否有任何公司会强迫需要工作的程序员与 UI 一起使用 Blend,并且不允许它们直接使用 XAML。

在某些情况下,Blend 可以节省您相当多的时间(人们提到了视觉状态和动画),因此在这种情况下使用 Blend 肯定很好,但如果您正在开发典型的 LOB 应用程序,那么几乎没有什么可以让您感觉你真的非常需要 Blend...

I think there's an easy way to answer your question... all you have to do is ask yourself what is the end result of anything you do in Blend?

The answer is XAML. So if this tool generates XAML for you, why wouldn't you work directly with XAML in the first place? XAML is human readable, it's easy to understand and master and between VS Intellisense and Resharper code completion there's really not a whole lot of typing required.

The time you invest in mastering Blend is much better invested in mastering XAML because Blend is just a tool used to generate XAML in a visual way so working directly with XAML means better understading of the underlying technology and taking full control of your code instead of relying on some black box tool to generate something you don't really understand.

And what if you invest all that time in mastering Blend and you end up in some other company 6 months down the road and they decided not to use Blend? If you don't know XAML, you'll now have to invest more time to learn it and if you do know XAML you'll be good to go in any environment as I really doubt it any company would force coders who need to work with UI as well to use Blend and not allow them to work with XAML directly.

There are a few scenarios Blend would save you quite a bit of time (people mentioned visual states and animations) so it's certainly good to have Blend on such occasions but if you're developing typicall LOB apps there's pretty much nothing there that will make you feel like you really, really need Blend...

纸伞微斜 2024-12-13 03:52:36

当 Visual Studio 更面向开发人员时,Expression Blend 则面向设计人员。它有很多预定义工具,可以生成大量代码并且易于使用(特别是动画、设计问题等)。因此,在 Expression Blend 中可以完成的所有操作都可以在 Visual Studio 中完成。我不确定反之亦然。

以下是官方网站上的说法:

Expression Blend、Visual Studio、Silverlight 和 .NET 提供了当今市场上最引人注目的无缝设计和开发工作流程。快速迭代用户体验和核心架构,将您的想法从最初的原型快速发展为完成的项目。

Expression Blend 的关键组件,包括行为、视觉状态管理器、过渡效果和 SketchFlow(Expression Blend 4 仅在 Expression Studio 4 Ultimate 产品中包含 SketchFlow),再加上这种现代工作流程的速度和灵活性,给您带来挑战边界并超越您认为可能的限制。

因此,这取决于您所在的位置:如果您主要使用应用程序的 UI 层,您可能会在 Expression Blend 中发现很多有用的东西,否则,如果您主要使用后台 - Visual Studio 是您的选择。

更新

另请查看 SO 上的以下步骤:WPF 应用程序:Visual Studio 与 Expression Blend

When the Visual Studio is more oriented on the developers, Expression Blend is oriented to the designers. It have a lot of predefiend tools whitch can generate a lot of code and simple to use (espessially animations, design issues, etc.). So everything what can be done in Expression Blend you can do in Visual Studio. I'm not sure about viсe-versa.

Here is what said on official site:

Expression Blend, Visual Studio, Silverlight and .NET provide the most compelling and seamless design and development workflow on the market today. Rapidly iterate on both the user experience and core architecture, evolving your ideas quickly from initial prototype through to completed project.

Key components of Expression Blend, including Behaviors, Visual State Manager, transition effects, and SketchFlow (Expression Blend 4 includes SketchFlow in Expression Studio 4 Ultimate product only), coupled with the speed and flexibility of this modern workflow challenge you to push boundaries and work beyond the limits of what you thought possible.

So, it depends on where you are: if you mostly working with the UI layer of the application you may found a lot of useful things in Expression Blend, otherwise if you mostly work with backgound - Visual Studio is your choiсe.

Update

Also check out following tread on SO: WPF Applications: Visual Studio vs. Expression Blend

故笙诉离歌 2024-12-13 03:52:36

作为专业开发人员,Expression Blend 的价值是无价的,它可以完成许多 VS 无法完成的事情,

就在我的脑海中,
样本数据,
故事板,
更优越的数据模板支持
更好的资源字典支持
更好的自定义控制工具
更好的 XAML 控制

如果您只是编辑非常基本的 UI,那么 Blend 不会有任何用处,坚持使用 VS。 Blend 用于设计和动画,它用于前端。

As a professional developer Expression Blend is invaluable and does many things which VS does not,

Just off top of my head,
Sample data,
Storyboarding,
Far superior datatemplate support
Way better resource dictionary support
Much better Custom Control tooling
Much better XAML control

If you are simply editing very basic UI then Blend wont be of any use stick with VS. Blend is for design and animation it is for front-end.

椒妓 2024-12-13 03:52:36

具有多用途的混合工具。

我认为它主要是1.

在silverlight中构建动画(故事板)

2.创建WPF/SL/WP XAML布局

如果你想创建一些动画silverlight/一些数据绑定的sliverlight应用程序,在我尝试使用后我的答案是肯定的Adobe Edge 在 7 天之内使用了 flash 4、MX2004、flash 5 很久以前的版本。

要创建精美的动画,Expression Blend 仍然击败 Adob​​e Edge 并与 Adob​​e Flash 相媲美。

您可以编写您熟悉的编程语言来控制一切,就像 Flash 动作脚本一样。

在我的选择中,动作脚本在中型大型项目中相当混乱,并且很难调试/维护。

Blend tool having multi purpose.

I assume it's mainly on

1.build animation(Story Board) in silverlight

2.create WPF/SL/WP XAML layout

If you want to create some animation silverlight/ some data-bound sliverlight application, my answer is yes after i try to use Adobe Edge in 7 days and used flash from flash 4 ,MX2004, flash 5 in long time ago.

To create a fancy animation, Expression Blend still beat Adobe Edge and comparable to Adobe Flash.

And you can write your familiar programming language to control everything just like flash action script.

In my optional, Action Script is quite messy on mid-large project and very hard to debug/maintenance.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文