WPF 的伟大之处在于,我应该能够在整个应用程序中使用 {StaticResource MyBackground} 而不是“White”,然后通过更改资源定义重新定义整个应用程序的外观。
问题是如果您在子控件中引用了全局资源,Expression Blend 将无法工作。还有其他方法来主题化您的应用程序吗?我不愿意失去 Blend 设计器的支持,或者在每个控件中复制一段代码/xaml。我发现令人震惊的是他们没有修复如此严重的错误。
有任何想法吗?
Cheers
所以我还没有尝试过这个,但听起来它会起作用。此外,该信息有点过时。如果它解决了问题,请告诉我。 :)
From 混合博客 http://blogs.msdn.com/b/expression/archive/2008/04/09/creating-a-wpf-blend-project-that-loads-resources-in-code.aspx,将以下两个块添加到您的项目文件中:
<DesignTime Condition="'$(SolutionPath)'!='' AND Exists('$(SolutionPath)')">true</DesignTime>
….
<ApplicationDefinition Condition="'$(DesignTime)'=='true' AND '$(BuildingInsideVisualStudio)'!='true' AND '$(BuildingInsideExpressionBlend)'!='true'" Include="App.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</ApplicationDefinition>
基本上,这会将您的 app.xaml 有条件地包含到您的项目中,以便在设计时使用它,而不是在构建时使用。我猜他们假设人们使用 msbuild 来生成生产代码,而不是单击构建编译按钮。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)