面试必备!WPF面试题和答案汇集

面试必备!WPF面试题和答案汇集

文章图片
WPF面试中常见的问题和答案已在许多公司中提出。让我们看看WPF面试的主要问题清单。
1)什么是WPF?
WPF代表Window Presentation Framework。它是Microsoft Windows的最新演示文稿API。 WPF是2D和3D图形引擎。
2)WPF的功能是什么?
WPF具有以下功能:
  • 它具有所有等效的普通用户控件, 例如按钮, 复选框, 滑块等。
  • 它具有HTML和Flash的所有功能。
  • 它支持修订和流格式文档。
  • 它提供了数据绑定, 动画和多媒体的功能。
3)WPF中有哪些资源?
在WPF中, 资源用于提供一种简单的方法来重用通常定义的对象和值。它们还可以帮助你一次设置多个控件的属性。例如, 你可以使用单个资源在WPF应用程序中的多个元素上设置背景属性。
4)什么是XAML?
XAML是一种基于声明性XML的语言。它有助于你定义XML中的对象和属性。其文档由XAML解析器加载。
5)XAML的用途是什么?
XAML用于描述对象, 属性及其之间的关系。它使你能够创建任何类型的对象, 即图形对象和非图形对象。
6)什么是路由事件?
在典型的WPF应用程序中, 元素的类型很多, 这些元素是在元素树关系中设置的。路由事件是一种事件类型, 用于在元素树中的多个侦听器上调用处理程序。
7)WPF支持多少种文档?
WPF支持两种类型的文档。
流格式文档:流格式文档用于更改内容以适合屏幕尺寸。
固定格式文档:固定格式文档的显示内容, 与屏幕大小无关。
8)通过WPF中的内容对齐, 你知道什么?
WPF中的内容对齐有两种类型:
  • Horizo??ntalContentAlignment
  • VerticalContentAlignment
这两个属性在System.Windows.Controls.Control类中定义, 该类是WPF中所有控件的父类。
默认情况下, TextBox内容的垂直和水平对齐为左, 顶部和按钮为中心。
例如:
面试必备!WPF面试题和答案汇集

文章图片
9)写下WPF中资源的语法。
语法
< elementName propertyName="{markupExtension keyName}"> < !-Content --> < /elementName>

这里,
elementName:使用资源的元素的名称。
propertyName:从资源中获取其值的属性的名称。
markupExtension:定义资源的类型。
【面试必备!WPF面试题和答案汇集】keyName:资源的密钥名称, 它是标识资源的唯一字符串。
10)WPF中有多少种可用资源?
WPF中主要有两种资源:
  • 静态资源
  • 动态资源
11)使用3D需要哪个命名空间?
System.Windows.Media.Medi3D是使用3D所需的命名空间。
12)我们可以说WPF是DirectX的替代品吗?
不可以, WPF无法替代DirectX, 因为WPF效率不足, 无法创建具有精美图形的游戏。 WPF仅是Windows窗体的替代, 不是DirectX。
13)有哪些依赖项属性?
依赖项属性是属于特定类但可以用于另一个类的属性的类型。
14)什么是CLR?
CLR代表公共语言运行时。这是.NET的运行时环境
15)WPF中的可冻结对象是什么?
不可更改的对象称为可冻结对象。如果需要在线程之间共享可冻结对象, 则它们的性能更好, 也更安全。
16)什么是WPF中的值转换器?
值转换器充当目标和源之间的桥梁, 当目标与一个源绑定时(例如, 你有一个文本框和一个按钮控件), 这是必需的。当文本框的文本为空或为空时, 你要启用或禁用按钮控件。在这种情况下, 你需要将字符串数据转换为布尔值。使用值转换器可以做到这一点。要实现值转换器, 需要从System.Windows.Data命名空间中的I值转换器继承并实现两种方法Convert和Convert Back。
17)Silverlight和WPF浏览器应用程序有什么区别?
这些是Silverlight和WPF浏览器应用程序之间的主要区别:
  • 在Silverlight仅使用插件运行时, 需要.NET框架才能在客户端计算机上运行WPF浏览器应用程序。
  • 使用WPF制作的应用程序取决于操作系统, 因为.NET框架仅在Windows上运行。另一方面, Silverlight插件也可以安装在那些不是Windows的操作系统上。
18)需要哪种工具来绘制WPF应用程序的模拟图?
SketchFlow工具用于草绘WPF应用程序的模拟。
19)布局控件有哪些不同类型?
以下是不同类型的布局控件:
  • 格网
  • 码头面板
  • 包装面板
  • 帆布
  • 统一网格
  • StackPanel
20)什么是棱镜?
PRISM是一个框架, 用于为WPF, Silverlight或Window电话创建复杂的应用程序。它使用MVVM, IC, 命令模式, DI和关注点分离来实现松散耦合。
21)什么是CustomControl?
CustomControl用于扩展现有控件的功能。它在主题和代码文件中包含默认样式。
22)自定义控件的用途是什么?
自定义控件是制作控件库的最佳方法。也可以设置样式或模板。
23)WPF中的Path动画是什么?
路径动画是另一种类型的动画。在此动画中, 动画对象遵循由路径几何设置的路径。
24)WPF中的BAML是什么意思?
BAML代表二进制应用程序标记语言。这是XAML的一种, 已被标记化, 解析并更改为二进制形式。
25)XAML和BAML有什么区别?
XAML和BAML之间的唯一区别是BAML是一种压缩的声明性语言, 它的加载和解析速度比XAML更快。
26)WPF中的页面控件和窗口控件有什么区别?
页面控件 视窗控制
页面控件负责托管的浏览器应用程序。 窗口控件负责Windows应用程序。
页面控件不能包含窗口控件。 窗口控件可能包含页面控件。
27)WPF的控制类的父类是什么?
WPF的控件类是从FrameworkElement派生的。
28)DynamicResource和StaticResource有什么区别?
StaticResource
DynamicResource
DynamicResource会在每次需要时评估资源。
由于经常进行评估, 因此DynamicResource很繁重。
29)WPF是否支持MDI?
WPF不支持MDI。用户控件可以提供MDI的相同功能。
30)什么是序列化?
序列化是将对象的状态转换为字节流的过程。
31)什么是MVVM?
MVVM代表模型视图ViewModel。它是在WPF中制作应用程序的框架。 MVVM与MVC框架相同。它是3层架构, 外加一层。使用MVVM可以实现松散耦合。
32)MVVM是什么时候引入的?
MVVM由John Gossman于2005年引入。它是专门与WPF一起使用的, 它是Martin Fowler更广泛的Presentation Model模式的具体应用。
33)MVVM有哪些优势?
MVVM具有以下优点:
  • 模块化
  • 测试驱动的方法。
  • UI和业务层分离为视图和视图模型。
  • 页面和表单之间的代码共享。
  • 易于维护。
34)MVVM最重要的功能是什么?
MVVM最重要的功能列表:
  • MVVM将业务和表示层分开, 例如MVP和MVC。
  • 它改善了关注点的结构/分离(视图, 视图模型和模型)。
  • 它可以实现更好的设计/开发人员工作流程。
  • 它提高了简单性和可测试性。
  • XAML强大的数据绑定功能启用了此功能。
  • 无需使用文件后码(最小化文件后码)。
  • 提供针对多种环境的应用程序开发能力。
  • 强大的数据绑定, 命令, 验证等。
  • 设计人员和开发人员可以一起工作。
35)MVVM与MVC有何不同?
MVC代表Model-View Controller, 而MVVM代表Model-View ViewModel。
在MVVM中, 使用视图模型代替控制器。该视图模型位于UI层下面。它显示了视图所需的命令对象和数据。它的行为就像一个容器对象, 视图从该容器对象获取其操作和数据。
Java OOP面试问题
Java字符串和异常问题
JDBC面试问题
JSP面试问题
休眠面试问题
SQL面试题
Android面试题
MySQL面试问题
编号
1.
2.
StaticResources仅评估资源一次。
StaticResource很轻。
Java基础面试问题
Java多线程问题
Java Collection面试题
Servlet面试问题
春季面试问题
PL / SQL面试问题
Oracle面试问题
SQL Server面试问题

    推荐阅读