wpf - 使用资源进行主题化而不需要呕吐

标签 wpf expression-blend blend

WPF很棒,因为我应该能够在整个应用程序中使用{StaticResource MyBackground}而不是“ White”,然后通过更改资源定义来重新定义整个应用程序的外观。

问题是,如果您在子控件中引用了全局资源,则Expression Blend将无法正常工作。还有其他方法可以为您的应用程序主题化吗?我不愿意失去Blend Designer的支持,也不愿意在每个控件中复制一段代码/ xaml。令他们惊讶的是,他们还没有修复如此严重的错误。

有任何想法吗?

干杯

最佳答案

所以我没有尝试过,但听起来像是可行的。另外,该信息有些陈旧。请告诉我是否可以解决问题。 :)

the Blend blog,将以下两个块添加到您的项目文件中:

<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来生成生产代码,而不是单击build compile按钮。

关于wpf - 使用资源进行主题化而不需要呕吐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10000385/

相关文章:

c# - 删除所有 DataGrid 行和单元格边框

expression-blend - 如何在 Expression Blend +Sketchflow 中调整屏幕(或 "canvas")大小?

c++ - 如何在 C++ 程序中混合/合并两个 pgm 格式的图像

silverlight - 将 View 加载到 ContentControl 并通过单击按钮更改其属性

c# - Windows Phone 7 Mango 启动画面上的断断续续的渐变

windows-8 - VS2012/混合 5 : Debugging an Exception (only) occurring in design view

visual-studio - 如何像VS 2012一样进行项目安装设置?

c# - WPF 中的 ItemsControl/DataTemplate 内部没有样式继承?

c# - 启用和禁用文本框的不同上下文菜单

c# - 如何加载更快的 WPF 窗口?