使用资源进行主题化,无需 Blend 呕吐

2024-05-26

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(使用前将#替换为@)

使用资源进行主题化,无需 Blend 呕吐 的相关文章

  • WPF ICommand CanExecute():RaiseCanExecuteChanged() 或通过 DispatchTimer 自动处理?

    我正在尝试确定使 ICommands 的 CanExecute 反映在 UI 中的最佳方法 据我了解 调度员是处理 UI 绘图的 WPF 引擎 默认情况下 调度程序在实例化以及活动用户界面 单击 UI 或键盘输入 时评估 ICommands
  • 有没有办法判断当前屏幕是否支持触摸? [复制]

    这个问题在这里已经有答案了 可能的重复 是否可以让我的 c wpf 程序知道用户是否有触摸屏 https stackoverflow com questions 5673556 is it possible to let my c shar
  • WPF 按钮单击事件不起作用

    我有一个按钮 其中包含网格内的图像 我的问题是我无法制作该按钮Click活动工作 我的 XAML 代码
  • WPF TreeView 绑定[重复]

    这个问题在这里已经有答案了 我有一个带有父级和子级属性的课程 ADO NET 实体框架分层页面类 http img148 imageshack us img148 6802 edmxxe8 gif http img148 imageshac
  • WPF - 将窗口置于前面

    我有一个 WPF 窗口 我没有关闭它 相反 我执行 Hide 和 Show 它 现在 当我双击记录上网格中的主窗口时 这将触发 Show 窗口 该窗口将始终显示在主窗口后面 我尝试过以下方法 但没有成功 view Show view Act
  • WPF MVVM:如何禁用单击的按钮并启用所有其他按钮?

    我有一组按钮 只要单击其中一个按钮即可启用 而单击的按钮则被禁用
  • 拖动用户控件,但将其保留在 WPF 中其父级的边界内

    我有一个用户控件 正在将其拖动到网格内 Z Index 设置得相当高 这样我就可以将其保持在其他孩子之上 拖动控件效果很好 但如果用户想要将控件移到网格之外 它会允许这样做 How do I keep it from leaving the
  • 如何在 WPF 中实现虚线或点线边框?

    我有一个ListViewItem我正在申请Style到 我想把灰色虚线作为底部Border 我怎样才能在 WPF 中做到这一点 我只能看到纯色画笔 这在我们的应用程序中效果很好 允许我们使用真正的边框而不是乱用矩形
  • 转换BitmapImage后内存未释放

    我遇到以下 C 测试 代码的问题 public static void TestBitmap2ByteArray BitmapImage bitmap JpegBitmapEncoder encoder new JpegBitmapEnco
  • WPF DataGrid 绑定 DataGridCell 内容

    希望这将是一个非常简单的答案 我认为我只是没有看到众所周知的树木 我有一个 DataGridCell 样式 我想将单元格的内容绑定到图像的源属性 这是我目前使用的 XAML
  • WPF 元素宿主内存泄漏

    我在 Windows 窗体上使用元素主机时遇到奇怪的内存泄漏 我有一个主窗体 它打开另一个窗体 该窗体上只有 elementhost 控件 此时 它没有 wpf 控件子控件 只能打开 1 个主机表单 每次我打开窗体时 应用程序内存都会增加2
  • 如何在 RichTextBox 中以编程方式移动插入符位置?

    我有一个 RichTextBox 其中的特殊文本位具有自定义格式 但是 存在一个错误 即插入字符后 插入符号会放置在新插入的字符之前而不是之后 这是因为对于每次编辑 代码都会重新计算内容以应用自定义格式 然后像这样设置 CaretPosit
  • 使 DataTemplate 可混合

    如何为 ViewModel 制作可混合的数据模板 可在表达式混合中设计 当我转到资源并尝试直接编辑数据模板时 我在绘图板上看到的只是一个空白矩形 这是因为 DataTemplate 没有绑定到任何东西 当然 我可以创建一个 UserCont
  • 比较运算符性能 <= 与 !=

    让我们首先声明代码可读性胜过微优化 我们应该将其留给编译器 这只是一个奇怪的案例 具体细节似乎与一般建议相比很有趣 因此 我在搞素数生成器函数 并提出了一种奇怪的行为 其中 人们建议效率最高 实际上效率最低 而 C private stat
  • 窗口关闭后仍在调用方法

    首先我不知道这是不是一个愚蠢的问题 我有这样的场景 首先我有一个主窗口 public MainWindow InitializeComponent dt is a System Windows Threading DispatcherTim
  • WPF DataGrid 多选

    我读过几篇关于这个主题的文章 但很多都是来自 VS 或框架的早期版本 我想做的是从 dataGrid 中选择多行并将这些行返回到绑定的可观察集合中 我尝试创建一个属性 类型 并将其添加到可观察集合中 它适用于单个记录 但代码永远不会触发多个
  • Wpf TextBlock 中的垂直文本

    是否可以垂直显示 TextBlock 中的文本 以便所有字母彼此堆叠 不使用 LayoutTransform 旋转 还没有人提到使用纯 XAML 垂直堆叠任意字符串的字母 不旋转它们 的明显而简单的方法
  • 混合 MFC 和 WPF:模态对话框

    我使用 C CLI 界面层将 C WPF 对话框添加到现有的 C MFC 应用程序 我一切正常 只是我遇到了形式问题 例如 MFC 应用程序使用 ShowDialog 显示 WPF 对话框 按预期工作 该 WPF 对话框显示使用 DoMod
  • Web 客户端和 Expect100Continue

    使用 WebClient C NET 时设置 Expect100Continue 的最佳方法是什么 我有下面的代码 我仍然在标题中看到 100 continue 愚蠢的 apache 仍然抱怨 505 错误 string url http
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如

随机推荐

  • Android-如何在简历中检测我的应用程序被虚拟机杀死?

    在我的应用程序中 当用户按 HOME 键并在一段时间后返回到应用程序时 我的应用程序会在各个位置和活动上给出 NullPointerExceptions 我知道我的应用程序正在被操作系统杀死以释放一些资源 现在我希望当用户再次返回应用程序并
  • 在 PhantomJS/CasperJS 中设置屏幕尺寸

    我正在自动访问网站以从中收集数据 不幸的是 该页面会检测屏幕尺寸 如果屏幕太小 则不会给我所需的页面 从非交互式上下文 IIS Web 应用程序 运行脚本时 Screen 对象似乎返回 1024x768 像素的大小 即使我将视口大小设置为
  • generate_series() 方法在 Redshift 中失败

    当我运行 SQL 查询时 select generate series 0 g from select date date1 date date2 as g from mytable 它返回一个错误 INFO Function genera
  • 分配给 SQLite 内存数据库的内存大小

    如果使用下面的语法创建一个内存中的sqlite数据库 那么分配给它的最大内存大小是多少 my dbh DBI gt connect dbi SQLite dbname memory 如果内存数据库的大小大于最大可用内存 将会发生什么情况 假
  • appengine 新应用程序部署失败并出现“版本未就绪”异常

    我正在尝试在应用程序引擎上部署一个应用程序 它是一个新应用程序 我尝试更改版本名称并再次部署 我什至创建了一个新的应用程序 ID 并使用了相同的应用程序 但没有成功 2013 06 10 19 47 41 615 WARNING appcf
  • Win32 错误代码的大写文本标识符是什么,以及如何在给定错误代码的情况下以编程方式确定它们?

    In Win32 错误代码列表 https msdn microsoft com en us library windows desktop ms681382 28v vs 85 29 aspx 每个错误都包含三个组成部分 数字错误代码 描
  • 如何从代码后面的 Blazor WebAssembly 项目打开浏览器窗口/选项卡:

    我正在将 UWP 应用程序转换为托管 ASP NET Core 的 Blazor WebAssembly 我的标记代码位于 Index razor 中 后面的代码位于 Index razor cs 中 在 UWP 项目中 我通过 oncli
  • 如何使用服务器端vbscript获取图像宽度? ASP经典

    几天来我一直在尝试找到一种方法来获取驻留在我们服务器上的 png 文件的图像宽度 我正在尝试读取文件的前 24 个字节并解析出字节 17 20 的宽度 我在网上找到了几种例程 但都没有成功 奇怪的是 我似乎得到了从十六进制解码到十进制的字节
  • C++:函数左值或右值

    我刚刚开始通过阅读来了解 c 11 中的右值引用这一页 http thbecker net articles rvalue references section 01 html 但我卡在了第一页 这是我从该页面获取的代码 int foo f
  • 熊猫直方图 df.hist() 分组依据

    如何使用 group by 用 pandas DataFrame hist 绘制直方图 我有一个包含 5 列的数据框 A B C D 和 Group 有两个组类别 是 和 否 Using df hist 我获取了 4 列中每一列的历史记录
  • 如何部署经典的asp网站?

    我想知道如何部署或在 IIS 6 7 中部署经典的 asp 网站涉及哪些步骤 我们可以为现有项目创建一个安装程序吗 您应该考虑使用 Web 部署http www iis net download WebDeploy http www iis
  • 如何使用 python apply/lambda/shift 函数根据 2 列的值获取该特定列的前一行值?

    我有 2 列 FN1 和 FN2 基于这些我必须再创建一列 最终 FN1 FN2 Final False False 1 True True 1 False False 1 True False 2 True True 2 False Fa
  • 通过 preg_match_all PHP 函数从 html 代码字符串中提取 img 标签

    我有一些 html 代码并提取了img src来自它的属性 html 字符串中有一些像这样的 img img src http www pecso it wp content uploads 2016 12 10 WRAS png 我尝试使
  • 仅部分页面滚动的 html 布局

    我想创建一个分为 3 部分的页面布局 一列具有固定宽度 其中包含两行具有固定高度 另一个具有固定宽度的列 可能包含多个项目 超出视图范围 我正在寻找一种方法 使页面滚动仅影响项目列 以便屏幕的左侧 第一列 保持在视图中 下面是布局的示例图像
  • SagePay 直接集成套件 v4.00 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有适用于 4 00 版本的 Dot Net SagePay 直接集成套件 我试图在 SagePay
  • boost.asio 链接和库

    我是 boost asio 编程的新手 并且在链接 boost 库时遇到困难 我的问题是 当我包含 asio 标头时 如何找出应该链接到我的项目的库 例如我用过 include
  • Paypal PDT交易ID有效期

    当我尝试使用交易 ID 检索付款信息时 我从 paypal PDT 收到错误 4003 虽然我这里有一个类似的线程 贝宝 PDT 错误 4003 https stackoverflow com questions 8521800 paypa
  • bootstrap navbar-static-top 菜单分成两行

    我遇到了引导导航栏的问题 我使用 navbar static top 制作了菜单 起初一切都很好 当菜单被展开并添加了一些项目时 现在随着折叠之前的宽度 它扩展到两行 看起来很糟糕 在 CSS bootstrap 中进行了更深入的挖掘 但没
  • 查明 AD 中的组是否属于通讯组?

    我正在使用 ASP net 和 C 并且对 Active Directory 知之甚少 我接到一项任务 按以下步骤编写程序 ASP net 应用程序被赋予用户的用户名 应用程序应查询具有给定用户名的用户的所有组 然后 应用程序应将这些组显示
  • 使用资源进行主题化,无需 Blend 呕吐

    WPF 的伟大之处在于 我应该能够在整个应用程序中使用 StaticResource MyBackground 而不是 White 然后通过更改资源定义重新定义整个应用程序的外观 问题是如果您在子控件中引用了全局资源 Expression