Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 采访问题:WPF开发者_.net_Wpf - Fatal编程技术网

.net 采访问题:WPF开发者

.net 采访问题:WPF开发者,.net,wpf,.net,Wpf,每个WPF开发人员都应该知道什么 入门级 强大的.NET2.0背景,愿意学习 解释依赖属性 什么是风格 什么是模板 装订 基类之间的差异:Visual、UIElement、FrameworkElement、Control 视觉与逻辑树 属性更改通知(INotifyPropertyChange和ObservableCollection) ResourceDictionary-由a7an添加 UserControls-由a7an添加 气泡和隧道布线策略之间的差异-由Carlo添加 为什么微软引入了

每个WPF开发人员都应该知道什么


入门级

  • 强大的.NET2.0背景,愿意学习
  • 解释依赖属性
  • 什么是风格
  • 什么是模板
  • 装订
  • 基类之间的差异:Visual、UIElement、FrameworkElement、Control
  • 视觉与逻辑树
  • 属性更改通知(INotifyPropertyChange和ObservableCollection)
  • ResourceDictionary-由a7an添加
  • UserControls-由a7an添加
  • 气泡和隧道布线策略之间的差异-由Carlo添加
  • 为什么微软引入了另一种标记语言
  • XAML
中级

  • 路由事件和命令
  • 转换器-由Artur Carvalho添加
  • 解释WPF的2通道布局引擎
  • 如何实现面板
  • 互操作性(WPF/WinForms)
  • /-由a7an添加
  • 动画和故事板
  • 蒙皮/主题化
  • 自定义控件
  • 工作线程如何更新UI
  • DataTemplate与HierarchycalDataTemplate
  • ItemsControl vs ItemsPresenter vs ContentControl vs ContentPresenter
  • 不同类型的触发器
高级

  • 依附行为的例子
  • 什么是PRISM、CAL和CAG
  • 工作线程如何更新UI
  • WPF 3D-由a7an添加
  • Silverlight 2和WPF之间的差异
  • MVVM/MVP-由a7an添加
  • WPF性能调整
  • 像素着色器
  • 自由化的目的
还有什么“诡计”问题要问吗


您希望您的WPF开发人员了解blend吗?

在我看来,这是一个不错的列表。
不过,我不会在面试时问一些棘手的问题。面试本身就有足够的压力,即使是高技能的人也会被这个问题弄糊涂。

  • 转换器(简单和多个)
  • 互操作性
我想我更喜欢知道混合的开发人员。他/她可以轻松地与设计师沟通,并且比仅仅用xaml编写更快地完成一些基本的设计师工作

这个列表很有趣,也许链接到主题会有所帮助


干杯

入门级

  • 物业更改通知书 (i)属性更改和 可观察到的(收集)
  • 资源字典
  • 用户控件
中级

  • 混合/苹果酒
  • 动画和故事板
  • ClickOnce部署
高级

  • WPF 3D
  • Silverlight 2的区别 和WPF
  • MVVM/MVP
  • WPF性能调整
  • 像素着色器

中级或高级:WinForms和WPF互操作。

我将绑定和转换器放在入门级,因为这就是您在WPF中花费大量时间的原因。

我很惊讶还没有人提到XAML的基本知识。了解什么是XAML,能够使用XAML而不是图形设计工具进行一些基本编辑。中级开发人员应该能够使用诸如XAMLPad之类的工具构建表单/图形原型。

我认为WPF应用程序的生命周期-从创建到运行时应该包括在初级问题中。在不知情的情况下,很难相信一个人是真正的WPF开发人员。

中等或可能是高级

  • 蒙皮/主题化
  • 自定义控件

我通常会使用WPF部署扩展ClickOnce部署,因为了解每个模型的限制和特性(ClickOnce、XBAP、仅浏览器)是很好的。不过,将其放在中级似乎是公平的。

就个人而言,我会将“worker threads如何更新UI”放在入门级下面。中级,如果你真的需要的话。如果入门级程序员能够理解逻辑树和可视化树之间的区别,那么他们应该理解如何从后台线程更新UI


在我的组织中,我们在没有混合的情况下进行了很多WPF开发。我不是特别喜欢Blend,所以我有点偏颇,但我认为Blend技能应该是一个不错的选择。

一般来说GUI编程/图形经验和cs知识怎么样?如果是一份全职工作,那么无论他(或她)是否需要在头几个月花时间学习WPF,或者他(或她)是否有很强的背景,这都无关紧要。

  • 线程和分派器之间的关系是什么
  • Freezables的目的是什么
  • 属性和依赖属性之间有什么区别?为什么要用一个或另一个
      • DataTemplate与HierarchycalDataTemplate
      • ItemsControl vs ItemsPresenter vs ContentControl vs ContentPresenter
      • 不同类型的触发器
      • 如何通过故事板制作动画

        • WPF开发人员应该牢牢掌握将XAML与后面的代码分离开来的方法,并且能够详细讨论这条线应该画在哪里

          能够用她选择的语言建立模型,然后使用XAML通过数据绑定、数据模板、控件模板、样式、触发器、值转换器和用户控件来显示该模型上的视图,对于中级程序员来说是一项相当基本的任务。(尽管如果要求某人“发自内心”创建控件模板之类的内容,则应给予少量的回旋余地。)

          真的,WPF中有很多东西,如果不是MSDN论坛和关于这个主题的深入书籍,那么“拾起它”将是一项相当艰巨的任务。出于这个原因,我认为毅力和向他人学习的能力是任何级别的最高要求

          对于一个入门级的WPF程序员,我不希望了解WPF本身,但我需要了解面向对象的原则、UI与业务逻辑的分离,以及熟悉simi