首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Xaml编译成Baml?

将Xaml编译成Baml?
EN

Stack Overflow用户
提问于 2009-06-01 13:59:59
回答 2查看 6.8K关注 0票数 8

如何将xaml转换为baml?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2009-11-11 17:23:48

可以通过创建引用XAML的MSBuild项目文件来编译它。这就是当你在你的项目上进行编译时,在Visual Studio中“幕后”发生的事情(它会创建一个临时的.proj文件并构建它)。

一个相当小的项目文件(xamlcompile.csproj)是这样的:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <ProductVersion>9.0.30729</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <OutputType>library</OutputType>
    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
    <ProjectGuid>{6B8967FF-37B7-43E8-B866-FFD6F13FFC0A}</ProjectGuid>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System" />
    <Reference Include="System.Core">
      <RequiredTargetFramework>3.5</RequiredTargetFramework>
    </Reference>
    <Reference Include="System.Xml.Linq">
      <RequiredTargetFramework>3.5</RequiredTargetFramework>
    </Reference>
    <Reference Include="System.Data.DataSetExtensions">
      <RequiredTargetFramework>3.5</RequiredTargetFramework>
    </Reference>
    <Reference Include="System.Data" />
    <Reference Include="System.Xml" />
    <Reference Include="WindowsBase" />
    <Reference Include="PresentationCore" />
    <Reference Include="PresentationFramework" />
    <Reference Include="PresentationFramework.Classic" />
  </ItemGroup>
  <ItemGroup>
    <Page Include="Themes\Generic.xaml">
      <Generator>MSBuild:Compile</Generator>
      <SubType>Designer</SubType>
    </Page>
  </ItemGroup>
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

然后,您可以通过运行以下命令生成BAML文件:

代码语言:javascript
复制
MSBuild /t:ResolveReferences;MarkupCompilePass1;MarkupCompilePass2 xamlcompile.csproj

这将在obj\Debug下创建一个baml文件,在上面的示例中它将是obj\Debug\Themes\Generic.baml。

希望这能有所帮助。

票数 11
EN

Stack Overflow用户

发布于 2009-06-01 14:40:40

有一个Reflector插件可以加载包含BAML资源的程序集(例如,本地化的资源程序集),并显示相应的XAML:BamlViewer

在Visual Studio中编译WPF应用程序时,所有XAML文件都将转换为BAML,然后该BAML将作为资源嵌入到最终的DLL或EXE程序集中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/934945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档