文章图片
WPF面试中常见的问题和答案已在许多公司中提出。让我们看看WPF面试的主要问题清单。
1)什么是WPF?
WPF代表Window Presentation Framework。它是Microsoft Windows的最新演示文稿API。 WPF是2D和3D图形引擎。
2)WPF的功能是什么?
WPF具有以下功能:
- 它具有所有等效的普通用户控件, 例如按钮, 复选框, 滑块等。
- 它具有HTML和Flash的所有功能。
- 它支持修订和流格式文档。
- 它提供了数据绑定, 动画和多媒体的功能。
在WPF中, 资源用于提供一种简单的方法来重用通常定义的对象和值。它们还可以帮助你一次设置多个控件的属性。例如, 你可以使用单个资源在WPF应用程序中的多个元素上设置背景属性。
4)什么是XAML?
XAML是一种基于声明性XML的语言。它有助于你定义XML中的对象和属性。其文档由XAML解析器加载。
5)XAML的用途是什么?
XAML用于描述对象, 属性及其之间的关系。它使你能够创建任何类型的对象, 即图形对象和非图形对象。
6)什么是路由事件?
在典型的WPF应用程序中, 元素的类型很多, 这些元素是在元素树关系中设置的。路由事件是一种事件类型, 用于在元素树中的多个侦听器上调用处理程序。
7)WPF支持多少种文档?
WPF支持两种类型的文档。
流格式文档:流格式文档用于更改内容以适合屏幕尺寸。
固定格式文档:固定格式文档的显示内容, 与屏幕大小无关。
8)通过WPF中的内容对齐, 你知道什么?
WPF中的内容对齐有两种类型:
- Horizo??ntalContentAlignment
- VerticalContentAlignment
默认情况下, TextBox内容的垂直和水平对齐为左, 顶部和按钮为中心。
例如:
文章图片
9)写下WPF中资源的语法。
语法
<
elementName propertyName="{markupExtension keyName}">
<
!-Content -->
<
/elementName>
这里,
elementName:使用资源的元素的名称。
propertyName:从资源中获取其值的属性的名称。
markupExtension:定义资源的类型。
【面试必备!WPF面试题和答案汇集】keyName:资源的密钥名称, 它是标识资源的唯一字符串。
10)WPF中有多少种可用资源?
WPF中主要有两种资源:
- 静态资源
- 动态资源
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的操作系统上。
SketchFlow工具用于草绘WPF应用程序的模拟。
19)布局控件有哪些不同类型?
以下是不同类型的布局控件:
- 格网
- 码头面板
- 包装面板
- 帆布
- 统一网格
- StackPanel
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应用程序。 |
页面控件不能包含窗口控件。 | 窗口控件可能包含页面控件。 |
WPF的控件类是从FrameworkElement派生的。
28)DynamicResource和StaticResource有什么区别?
StaticResource |
DynamicResource |
---|---|
DynamicResource会在每次需要时评估资源。 | |
由于经常进行评估, 因此DynamicResource很繁重。 |
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和业务层分离为视图和视图模型。
- 页面和表单之间的代码共享。
- 易于维护。
MVVM最重要的功能列表:
- MVVM将业务和表示层分开, 例如MVP和MVC。
- 它改善了关注点的结构/分离(视图, 视图模型和模型)。
- 它可以实现更好的设计/开发人员工作流程。
- 它提高了简单性和可测试性。
- XAML强大的数据绑定功能启用了此功能。
- 无需使用文件后码(最小化文件后码)。
- 提供针对多种环境的应用程序开发能力。
- 强大的数据绑定, 命令, 验证等。
- 设计人员和开发人员可以一起工作。
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面试问题
推荐阅读
- 34个Java集合面试题和答案汇总
- 最全面!Silverlight面试题和答案汇总
- WCF面试问题和答案精华合集
- 史上最全!F#面试题和答案合集
- 最全面的ASP.NET面试题和答案合集
- 史上最全的ADO.NET面试题和答案
- 史上最全的.Net面试题和答案合集
- 面试必备!Phalcon面试题和知识点汇总
- 我的文档在啥地方个盘,图文详细说明我的文档在啥地方个盘