导航:首页 > 源码编译 > Wpfxaml编译

Wpfxaml编译

发布时间:2023-02-14 05:39:50

1. xaml文件怎么运行

Xaml文件基于XML,本质上是一个只是一个文本文件而已,用记事本可以打开,怎么能运行呢??

微软的WPF和Silverlight和WP7都是基于Xaml和C#,XP下肯定是可以运行WPF程序的,你VS2010要装一个VS2010SP1,NET Framework要大于4.0(虽然WPF是3.5的产物,但VS2010是和4.0配套的),但是你也不用另外单独去安装NET Framework4.0,因为你在装VS2010的时候他就会自动把NET Framework4.0装装上去

如果你不是开发人员,仅仅只是想要运行一个WPF编译生成的程序,那只要安装对应的NET Framework就行了,至于是3.5还是4.0,你要看人家编写这个程序的人调用了哪个框架里的函数,NET Framework3.5是运行一个WPF程序最基本的条件,但如果程序里有调用4.0里的函数,那么你NET Framework3.5就不够了。最简单的,你装个NET Framework的最新版本就是了,这样一定没问题

2. 如何在代码中操作xaml中的元素

XAML 根元素和 xmlns
一个 XAML 文件只能有一个根元素,这样才能成为格式正确的 XML 文件和有效的 XAML 文件。通常,应选择属于应用程序模型一部分的元素(例如,为页面选择 Window 或 Page,为外部字典选择 ResourceDictionary,或为应用程序定义根选择 Application)。下面的示例演示 WPF 页面的典型 XAML 文件的根元素,其中的根元素为 Page。

根元素还包含属性 xmlns 和 xmlns:x。这些属性向 XAML 处理器指明哪些命名空间包含标记将要引用的元素的元素定义。xmlns 属性专门指示默认的 xmlns 命名空间。在默认的 xmlns 命名空间中,可以不使用前缀指定标记中的对象元素。对于大多数 WPF 应用程序方案以及 SDK 的 WPF 部分中给出的几乎所有示例,默认的 xmlns 命名空间均映射为 WPF 命名空间 http://schemas.microsoft.com/winfx/2006/xaml/presentation。xmlns:x 属性指示另外一个 xmlns 命名空间,该命名空间映射 XAML 语言命名空间 http://schemas.microsoft.com/winfx/2006/xaml。在具有此映射的文件的标记中引用时,XAML 规范定义的必需语言组件带有 x: 前缀。使用 xmlns 定义用法范围和映射的这种做法符合 XML 1.0 规范。请注意,xmlns 属性仅在每页的根元素上和应用程序定义上(如果在标记中提供了应用程序定义)才是严格必需的。xmlns 定义将应用于根的所有子元素。(此行为仍然符合 xmlns 的 XML 1.0 规范。)xmlns 属性还允许出现在根下面的其他元素上,并且将应用于定义元素的任何子元素。但是,此用法并不典型,因为频繁定义或重新定义 xmlns 命名空间可能会导致 XAML 标记样式难以阅读。

由于存在属于项目生成文件一部分的配置,因此可以知道 WPF 程序集包含的某些类型支持 WPF 到默认 xmlns 的映射。程序集还映射到目标文件中。因此,为了引用来自 WPF 程序集的 XAML 元素,只需映射 xmlns 即可。对于您自己的自定义程序集,或者除 WPF 之外的程序集,可以将该程序集指定为 xmlns 映射的一部分。通常,可选择其他前缀,但是也可以选择其他 xmlns 作为默认值,然后将 WPF 映射到前缀。

x: 前缀
在前面的根元素示例中,前缀 x: 用于映射 XAML xmlns http://schemas.microsoft.com/winfx/2006/xaml。在此 SDK 的项目模板、示例以及文档中,此 x: 前缀将用于映射 XAML xmlns。x: 前缀/XAML xmlns 包含多个将在 XAML 中频繁用到的编程构造。下面列出了将用到的最常见 x: 前缀/XAML xmlns 编程构造:

x:Key:为 ResourceDictionary 中的每个资源设置一个唯一的键。在应用程序标记中看到的所有 x: 用法中,x:Key 可能占到 90%。

x:Class:向为 XAML 页提供代码隐藏的类指定 CLR 命名空间和类名。必须具有这样一个类才能支持代码隐藏,也正是由于这个原因,即使没有资源,您也几乎总是会看到映射的 x:。

x:Name:处理对象元素后,为运行时代码中存在的实例指定运行时对象名称。在不支持等效的 WPF 框架级Name 属性的情况下命名元素时,可以使用 x:Name。某些动画方案中会发生这种情况。

x:Static:启用一个获取静态值的值引用,该静态值只能是一个 XAML 可设置属性。

x:Type:根据类型名称构造一个 Type 引用。它用于指定采用 Type 的属性 (Attribute),如 Style..::.TargetType,不过在许多情况下属性 (Property) 本身具有字符串到 Type 的转换功能,因此使用 x:Type 是可选的。

x: 前缀/XAML xmlns 中还有其他一些不太常见的编程构造。

事件和 XAML 代码隐藏

大多数 WPF 应用程序都是既包括标记,又包括代码隐藏。在一个项目中,XAML 被编写为 .xaml 文件,而使用 CLR 语言(如 Microsoft Visual Basic .NET 或 C#)编写代码隐藏文件。编译 XAML 文件时,每个 XAML 页的 XAML 代码隐藏文件的位置是通过指定一个命名空间和类作为 XAML 页的根元素的 x:Class 属性来确定的。

在目前已介绍的示例中,您已看到几个按钮,但还没有一个按钮具有任何关联的逻辑行为。为对象元素添加行为的主要应用程序级机制是使用元素类的现有事件,并为在运行时引发该事件时调用的该事件编写特定的处理程序。事件名称以及要使用的处理程序的名称在标记中指定,而实现处理程序的代码在代码隐藏中定义。

3. WPF,反编译工具能看到XAML吗

1. 首先,手动创建一个WPF工程(WpfApplicationReflectorDemo)
2. 把生成的WpfApplicationReflectorDemo.exe 拖到ILSpy里
3. 点击 File -> Save Code...: 相应的代码会生成到指定地方。
4. 打开应用程序,并且编译它,此时程序会报如下错误。主要原因是缺少相应的WPF所必备的DLL--WindowsBase和PresentationCore。添加这两个dll之后程序会编译通过。
5. 这时我们还需要把相应的.XAML添加到应用程序中,我们在WpfApplicationReflectorDemo这个目录下添加与MainWindow.cs相关的MainWindow.xaml并且修改MainWindow.cs -->MainWindow.xaml.cs.与WPF的风格保持一致。这个时候我们需要把第二步看到的mainwindow.baml.中的内容添加到刚刚加入的MainWindow.xaml

6. 这时我们需要到MainWindow.xaml.cs去删除一些多余反编译出来的属性,字段和方法。并且在public class MainWindow加访问修饰符 partial
[GeneratedCode("PresentationBuildTasks", "4.0.0.0")]
internal TextBlock textBlock1;
private bool _contentLoaded;
public void InitializeComponent()
void IComponentConnector.Connect
7.添加App.xaml.去删除一些多余反编译出来的属性和方法.并且在public class App加访问修饰符 partial
[GeneratedCode("PresentationBuildTasks", "4.0.0.0")]
public void InitializeComponent()
7. 最后删掉mainwindow.baml

4. 一个wpf命名空间问题

这个问题我也碰到了。
1. 如果你是在Blend中写XAML和编译,一般都是出错的
2. 建议你到VS中,在XAML中引入local命名空间。local=""时,会自动弹出下拉提示的,你只要输入你的命名空间,不用输入那一长串,然后在弹出的下拉提示中选择即可。
3. 后面使用时,VS中可能还会有红色波浪线报错,但是编译能通过,肯定不会出错。

5. XAML与C#与WPF三者到底有什么关系

XAML是.NET体系开发程序或者网页时前台编程的一种布局方式或者说开发语言,可以比较自由的用标签的方式进行布局,借鉴了HTML和XML等语言的风格,并且加入了一些动画等的实现。
C#则是后台逻辑开发用的编程语言,这个应该不用多说。
WPF则是微软准备代替C#.NET中Forms编程方式的一种全新编程方式,其方式就是前台采用XAML控制布局,后台可以用C#,VB,C++等来相应,相当于前面用XAML写了个控件,而其控制逻辑指引到后台的函数逻辑中,而C#就是编写逻辑的支持语言之一。
这么说应该能理解了吧~

6. xaml是什么和xml有什么关系吗

简介XAML是eXtensible Application Markup Language的英文缩写,相应的中文名称为可扩展应用程序标记语言,它是微软公司为构建应用程序用户界面而创建的一种新的描述性语言。XAML提供了一种便于扩展和定位的语法来定义和程序逻辑分离的用户界面,而这种实现方式和ASP.NET中的"代码后置"模型非常类似。也就是说在开发一个应用程序时,我们可以将开发工作分成开发人员和设计人员两个团体分别进行,各自负责后台程序代码逻辑和前台程序界面的设计,这样就使得开发人员和设计人员之间的协作更通畅,也极大地发挥了他们的专长。 提示 XAML的发音为"Zamel"(有些人读做"zammel"),笔者经常开玩笑地将其读成"折磨"。虽然XAML包含了许多新规则、元素和语法,但是我并不认为学习它是一个折磨人的过程。只要读者稍微具备一些HTML基础知识,就可以快速地掌握XAML中的大部分内容。 提示 如今在WPF的官方网站上已经提供了一些很实用的工具,可以将其他格式的图形文件转换为XAML文件的形式。例如我们就可以将3DMax制作出的3D动画转换为XAML,这样WPF程序就可以直接通过转换好的XAML文件产生和3DMax制作出的3D动画相一致的效果。 [编辑本段]优点 XAML简化了.Net Framework 3.0 编程模式上的用户界面创建过程,使用XAML开发人员可以对WPF程序的所有用户界面元素(例如文本、按钮、图像和列表框等)进行详细的定置,同时还可以对整个界面进行合理化的布局,这与使用HTML非常相似。但是由于XAML是基于XML的,所以它本身就是一个组织良好的XML文档,而且相对于HTML,它的语法更严谨、更明确。预计以后大部分的XAML都可由相应的软件自动生成,就如同我们现在制作一个静态页面时,几乎不用编写任何HTML代码就可以直接通过Dreamweaver软件生成一个美观的页面。但是最初通过手动编写XAML代码将是一次绝佳的学习体验,虽然实现的过程繁杂了些,但是将加深您对XAML语法和各个元素的理解。 大多数的WPF程序可能同时包含程序代码和 XAML。我们可以使用XAML定义应用程序的初始界面,而后才编写相应的功能实现代码。我们可以将逻辑代码直接嵌入到一个XAML文件中,也可以将它保留在一个单独的文件中。实际上,能够用XAML实现的所有功能我们都可以使用程序代码来完成。因此,我们根本无需使用任何的XAML就可以创建一个完好的WPF程序。一般来说,程序代码的优势在于流程处理和逻辑判断,而不是界面的构建上。而XAML则是集中关注于界面的编程,我们可以将它和其它的.NET语言配合使用,从而构建出一个功能完善、界面美观的WPF程序。XAML是一种纯正的、用来描述用户界面构成元件和编排方式的标记语言。尽管有部分的XAML语法具备程序设计语言的特性(例如XAML中的Trigger和TRansform),但是XAML并不是一种用于程序设计的语言,它的功能也不是为了执行应用程序逻辑。 XAML是一种解析性的语言,尽管它也可以被编译。微软推荐XAML被编译成BAML(Binary Application Markup Language-二进制语言程序标记语言)。XAML和BAML都可以被WPF解析,并且将以一种和HTML相似的方式进行界面的呈现。但是和HTML不同的是,XAML是强类型化的。也就是说,HTML会忽略那些它不能识别的元素和属性,而XAML必须在识别所有的元素和属性的情况下,才对页面进行呈现。尽管在XAML中各个属性都是以一个个的字符串(例如Background)表示的,但是这些字符串实际上代表的是WPF中的对象,只有被WPF识别的对象才可以作为元素的属性,所以我们说XAML是强类型化的。 [编辑本段]XAML并不是HTML 还有一点是我们反复强调的,XAML并不是HTML。尽管XAML在元素的声明、程序样式的设置和指定事件处理程序上都和HTML非常类似,但是XAML是基于XML的,它是WPF的外在表现形式。而HTML主是一种标记语言,仅仅是用来为浏览器呈现页面内容。XAML除了用来呈现信息和请求用户输入等基本的功能外,它还包含了一些高级的特性,例如它提供了对动画和3D众多方面的支持。 XAML是可扩展的,正如它的名字指明的那样。开发人员可以创建自定义的控件、元素和函数来扩展XAML。而且由于XAML各元素在本质上就是WPF类的映射,所以开发人员可以很轻松地使用面向对象的技术对XAML元素进行扩展。也就是说我们可以开发一些自定义控件和组合元素,并将它公开给用户界面设计人员和其它的开发人员使用。 XAML、Windows Presentation Foundation 和 Microsoft .NET Framework 3.0 XAML 是 Microsoft® Windows Presentation Foundation (WPF) 的一部分。WPF 是 Microsoft® .NET Framework 3.0 中处理基于 Windows 的应用程序或基于 Web 浏览器的客户端应用程序的可视外观的一类功能。基于 WPF 的应用程序可以在 Windows Vista 上运行,也可以在安装了 Microsoft .NET Framework 3.0(如果是基于 Web 浏览器的客户端应用程序,还需要安装 Internet Explorer 7.0)的早期版本的 Windows 上运行。 XAML是XML的一种,用着WPF中 XAML除了有标记语言、XML的优点外,还有如下一些优点: 用XAML设计UI更简单 XAML比其他的UI设计技术所需编码更少。 XAML设计的UI方便转移、方便在其他环境提交。比如在Web或Windows Client。 用XAML设计动态UI非常容易 XAML给UI设计人员带来新的革命,现在所有的设计人员不再需要.NET开发的知识同样可以设计UI。在不远的将来,终端用户可以看到更漂亮的UI。

7. WPF反编译之后的xaml如何恢复

先点上边的显示所有文件,排除的文件就会显示出来了,在文件上右击,选 “包括在项目中"

8. 什么是XAML简单给我说一下吧

简介也就是说在开发一个应用程序时,我们可以将开发工作分成开发人员和设计人员两个团体分别进行,各自负责后台程序代码逻辑和前台程序界面的设计,这样就使得开发人员和设计人员之间的协作更通畅,也极大地发挥了他们的专长。 提示: XAML的发音为"Zamel"(有些人读做"zammel"),笔者经常开玩笑地将其读成"折磨"。虽然XAML包含了许多新规则、元素和语法,但是我并不认为学习它是一个折磨人的过程。只要读者稍微具备一些HTML基础知识,就可以快速地掌握XAML中的大部分内容。如今在WPF的官方网站上已经提供了一些很实用的工具,可以将其他格式的图形文件转换为XAML文件的形式。例如我们就可以将3DMax制作出的3D动画转换为XAML,这样WPF程序就可以直接通过转换好的XAML文件产生和3DMax制作出的3D动画相一致的效果。 编辑本段优点 XAML简化了.Net Framework 3.0 编程模式上的用户界面创建过程,使用XAML开发人员可以对WPF程序的所有用户界面元素(例如文本、按钮、图像和列表框等)进行详细的定置,同时还可以对整个界面进行合理化的布局,这与使用HTML非常相似。但是由于XAML是基于XML的,所以它本身就是一个组织良好的XML文档,而且相对于HTML,它的语法更严谨、更明确。预计以后大部分的XAML都可由相应的软件自动生成,就如同我们现在制作一个静态页面时,几乎不用编写任何HTML代码就可以直接通过Dreamweaver软件生成一个美观的页面。但是最初通过手动编写XAML代码将是一次绝佳的学习体验,虽然实现的过程繁杂了些,但是将加深您对XAML语法和各个元素的理解。 大多数的WPF程序可能同时包含程序代码和 XAML。我们可以使用XAML定义应用程序的初始界面,而后才编写相应的功能实现代码。我们可以将逻辑代码直接嵌入到一个XAML文件中,也可以将它保留在一个单独的文件中。实际上,能够用XAML实现的所有功能我们都可以使用程序代码来完成。因此,我们根本无需使用任何的XAML就可以创建一个完好的WPF程序。一般来说,程序代码的优势在于流程处理和逻辑判断,而不是界面的构建上。而XAML则是集中关注于界面的编程,我们可以将它和其它的.NET语言配合使用,从而构建出一个功能完善、界面美观的WPF程序。XAML是一种纯正的、用来描述用户界面构成元件和编排方式的标记语言。尽管有部分的XAML语法具备程序设计语言的特性(例如XAML中的Trigger和TRansform),但是XAML并不是一种用于程序设计的语言,它的功能也不是为了执行应用程序逻辑。 微软推荐XAML被编译成BAML(Binary Application Markup Language-二进制语言程序标记语言)。XAML和BAML都可以被WPF解析,并且将以一种和HTML相似的方式进行界面的呈现。但是和HTML不同的是,XAML是强类型化的。也就是说,HTML会忽略那些它不能识别的元素和属性,而XAML必须在识别所有的元素和属性的情况下,才对页面进行呈现。尽管在XAML中各个属性都是以一个个的字符串(例如Background)表示的,但是这些字符串实际上代表的是WPF中的对象,只有被WPF识别的对象才可以作为元素的属性,所以我们说XAML是强类型化的。 编辑本段XAML并不是HTML 还有一点是我们反复强调的,XAML并不是HTML。尽管XAML在元素的声明、程序样式的设置和指定事件处理程序上都和HTML非常类似,但是XAML是基于XML的,它是WPF的外在表现形式。而HTML主是一种标记语言,仅仅是用来为浏览器呈现页面内容。XAML除了用来呈现信息和请求用户输入等基本的功能外,它还包含了一些高级的特性,例如它提供了对动画和3D众多方面的支持。 XAML是可扩展的,正如它的名字指明的那样。开发人员可以创建自定义的控件、元素和函数来扩展XAML。而且由于XAML各元素在本质上就是WPF类的映射,所以开发人员可以很轻松地使用面向对象的技术对XAML元素进行扩展。也就是说我们可以开发一些自定义控件和组合元素,并将它公开给用户界面设计人员和其它的开发人员使用。 XAML、Windows Presentation Foundation 和 Microsoft .NET Framework 3.0 XAML 是 Microsoft® Windows Presentation Foundation (WPF) 的一部分。WPF 是 Microsoft® .NET Framework 3.0 中处理基于 Windows 的应用程序或基于 Web 浏览器的客户端应用程序的可视外观的一类功能。基于 WPF 的应用程序可以在 Windows Vista? 上运行,也可以在安装了 Microsoft .NET Framework 3.0(如果是基于 Web 浏览器的客户端应用程序,还需要安装 Internet Explorer 7.0)的早期版本的 Windows 上运行。 编辑本段应用 WPF 借助 XAML 来利用标记而不是编程语言(如 C#)来构造精美逼真的用户界面 (UI)。您可以通过定义控件、文本、图像、形状、动画等各种元素,完全采用 XAML 来制作详尽的 UI 文档。由于 XAML 是声明性语言(类似于 HTML),因此如果需要向应用程序中添加运行时逻辑,则需要添加代码。例如,如果应用程序仅使用 XAML,您不仅可以创建并动态显示 UI 元素,还可以对这些元素加以配置令其以受限方式响应用户输入(通过使用事件触发器)。但是,在不添加代码的情况下,该应用程序将不能执行和响应计算,也不能自行创建新的 UI 元素。XAML 应用程序的代码存储在不同于 XAML 文档的单独文件中。这种将 UI 设计与基础代码相脱离的方式,使得开发人员和设计人员能够更加密切地合作完成同一个项目,而不会延误各自的进度。 编辑本段XAML、代码和Expression Blend 在 Expression Blend 中,任何给定文档的 XAML 均存储在 .xaml 文件中。如果 XAML 文档有相应的基础代码,该代码将存储在文件名相同但另行添加 .cs 或 .vb 扩展名的文件中。例如,如果 XAML 文档名为“Window1.xaml”,则当代码的编程语言为 C# 时,代码隐藏文件名为“Window1.xaml.cs”。 在生成项目时,WPF 分析程序将读取该项目的 .xaml 文件,并报告所产生的任何错误。同样地,在 Expression Blend 中打开现有项目时,分析程序将读取项目文件夹中包含的 .xaml 文件,尝试分析元素并在“设计”视图中的美工板上显示文档。在这两种情况下,如果分析程序遇到错误,将禁用美工板,并且 Expression Blend 将显示一则错误消息,其中包含用于打开“XAML”视图的链接,以便您纠正该错误。分析错误也会报告在“结果”面板中的“错误”选项卡上。 编辑本段XAML在设计应用程序间发挥资源均衡作用 您可以从 Microsoft® Expression® Design 中将美术资源导出为 XAML,然后将该 XAML 作为资源导入到 Expression Blend 中,以便在 Expression Blend 项目中利用这些资源。其他一些设计应用程序也提供了各种将美术资源转换为 XAML 的工具。您可以在 Internet 上搜索受信任的站点所发布的转换工具。

9. WPF应用程序会被反编译吗

------解决方案--------------------
WPF程序当然能被反编译,但是xaml部分会变成bmal,不过内容和原先的xmal出入很大
------解决方案--------------------
没做混淆的都能反编译。问题是很难再改了。除非代码量很少的。

阅读全文

与Wpfxaml编译相关的资料

热点内容
java程序员加班吗 浏览:141
编译检查的是什么错误 浏览:405
加密兔f码生成器免费 浏览:292
思科路由器命令明文加密 浏览:171
方舟生存进化服务器如何改名字 浏览:892
央行数字货币app怎么注册 浏览:431
51单片机显示时间 浏览:770
我的世界网易版怎么压缩地图 浏览:682
qq小程序云服务器和 浏览:740
方舟服务器怎么玩才好玩 浏览:557
单片机的部件 浏览:621
编译原理遍的过程 浏览:252
python读取json字符串 浏览:62
ubuntu1404安装php 浏览:634
lua能编译吗 浏览:118
思仙怎么看服务器 浏览:660
php微信图片防盗链 浏览:800
安卓1怎么读音 浏览:297
农业app怎么开通快捷支付 浏览:913
pythonredisdict 浏览:389