DynamicResource 颜色不适用于边框上的 BorderBrush - Bug?

2023-11-22

Visual Studio 2010 | .NET/WPF 4.0

我认为这可能是一个 WPF 错误,但我似乎找不到有关它的错误报告。为了弥补我错过了一些明显的东西的可能性,我转向 stackoverflow 寻求答案!

考虑这个 xaml(代码隐藏中没有任何内容):

<Window x:Class="DownExpanders.BorderTest"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="BorderTest" Height="300" Width="300">
    <Window.Resources>
        <Color x:Key="BackgroundColor" R="255" G="0" B="0" A="255"/>
        <Color x:Key="BorderColor" R="0" G="0" B="255" A="255"/>
        <SolidColorBrush x:Key="BorderColorBrush" Color="{DynamicResource BorderColor}"/>
    </Window.Resources>
    <Grid>
        <Border BorderThickness="20">
            <Border.Background>
                <SolidColorBrush Color="{DynamicResource BackgroundColor}"/>
            </Border.Background>
            <Border.BorderBrush>
                <SolidColorBrush Color="{DynamicResource BorderColor}"/>
            </Border.BorderBrush>
        </Border>

        <Border Margin="40" BorderBrush="{DynamicResource BorderColorBrush}" BorderThickness="20"/>
    </Grid>
</Window>

在设计器中,它按预期呈现。外边框有一个大蓝色边框和红色背景,内边框有一个大蓝色边框。伟大的。

当我运行代码时,外边框没有边框 - 看起来它只是没有加载。背景已正确设置为红色。同时,内边框确实正确加载了其蓝色边框。

如果我将所有“DynamicResource”更改为“StaticResource”,则它在运行时会正确呈现。这种不一致确实困扰着我,我无法弄清楚。\

So:

  1. 为什么 DynamicResource 不适用于 BorderBrush?
  2. 鉴于#1,为什么does它适用于背景吗?
  3. 为什么在资源中显式定义纯色画笔似乎可以解决问题?

EDIT:

看来这是微软决定不修复的一个错误(感谢Sheridan对于链接):http://connect.microsoft.com/VisualStudio/feedback/details/589898/wpf-border-borderbrush-does-not-see-changes-in-dynamic-resource


RadialGradientBrush 的情况似乎并非如此。

<Window x:Class="WpfApplication3.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">

    <Grid>
        <Grid.Resources>
            <Color x:Key="BackgroundColor" R="255" G="0" B="0" A="255"/>
            <Color x:Key="BorderColor" R="0" G="0" B="255" A="255"/>
            <SolidColorBrush x:Key="BorderColorBrush" Color="{DynamicResource BorderColor}"/>
        </Grid.Resources>
        <Border BorderThickness="20">
            <Border.BorderBrush>
                <RadialGradientBrush>
                    <GradientStop Color="{DynamicResource BorderColor}"/>
                    <GradientStop Color="{DynamicResource BorderColor}"/>
                </RadialGradientBrush>
            </Border.BorderBrush>
            <Border.Background>
                <SolidColorBrush Color="{DynamicResource BackgroundColor}"/>
            </Border.Background>
        </Border>

        <Border Margin="40" BorderBrush="{DynamicResource BorderColorBrush}" BorderThickness="20"/>

    </Grid>
</Window>

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DynamicResource 颜色不适用于边框上的 BorderBrush - Bug? 的相关文章

  • 我的 WPF 应用程序未触发 MainWindow_Loaded

    我目前正在关注Pluralsight C Fundamentals Part 1并在Classes and Objects视频部分指导我在 Visual Studio 中创建一个新的 WPF 应用程序并填写代码 这导致以下结果 namesp
  • 当 ValidationRules 无法共享时,在 DataTemplates 中重新使用绑定实例

    我正在寻找解决方案和 或为什么在 DataTemplate 中共享 Binding 实例背后的合理性 这最终归结为这样一个事实 在 DataTemplate 中 似乎没有办法为生成的每个控件强制在 DependencyProperty 上绑
  • Visual Studio 2010 解决方案的 MSBuild 命令行执行无法引用 VS2010 SDK 来构建扩展

    Scenario 包含 VS2010 扩展的解决方案 NET 4 类库 带有 WPF UI 它在视觉工作室内部构建得很好 On the 同一台机器当我尝试通过命令行构建它时 作为构建脚本的一部分 Fails when using this
  • WPF 自定义控件构造、触发器和事件

    我想构建一个新的自定义控件 我发现很少有教程可以给我一些如何实现这一目标的线索 据我了解 创建新的自定义控件总是通过扩展当前控件来完成 甚至可以扩展 例如 从层次结构的非常基本的级别进行控制 您甚至可以扩展 用户界面元素 框架元素 Cont
  • 带有 Prism 区域适配器的 AvalonDock

    我看到了一些关于 SO 的问题 但似乎没有一个适合我 我希望能够使用伟大的使用 Prism 4 但是 所有示例区域适配器均适用于 Avalondock 1 x 系列 我无法使其工作 有人有关于如何为 AvalonDock 的 LayoutD
  • 如何防止新的 WPF 表单窃取焦点?

    我写了一个简单的MSN http en wikipedia org wiki MSN 风格的程序将使用发送和检索消息WCF http en wikipedia org wiki Windows Communication Foundatio
  • WPF 中的 stackpanel 和 virtualizingstackpanel 有什么区别?

    WPF 中的 stackpanel 和 virtualizingstackpanel 有什么区别 VirtualizingStack面板can在处理非常大的集合时提供性能优势 它通过仅渲染和处理用户可见的数据子集而不是处理整个数据列表来实现
  • 将占位符文本添加到文本框

    我正在寻找一种将占位符文本添加到文本框的方法 就像在 html5 中使用文本框一样 IE 如果文本框没有文本 则会添加文本Enter some text here 当用户单击它时 占位符文本消失并允许用户输入自己的文本 如果文本框失去焦点并
  • WPF (MVVM) 菜单中的互斥(且可绑定)复选框

    我试图找到一个在 WPF MVVM 应用程序的菜单中使用复选框的示例 该应用程序可以绑定到底层 ViewModel 类中的枚举 我有一个简单的例子 public class MyViewModel public MyViewModel co
  • 当应用程序未聚焦时监听按键

    我有一个应用程序 C 4 0 WPF 它是隐藏的 可以通过单击系统托盘图标或我创建的其他框架 停靠在左侧和最上面的小框架 来显示 My customer wants to add a new way to display the appli
  • 可选参数代码在 .NET 3.5 中编译。为什么?

    这段代码在 VS 2010 的框架 3 5 项目中编译正常 我三次检查过 public LoggingClient string uri net msmq localhost logging 为什么 我在 C 4 规范中没有看到任何内容 文
  • 用于动态视图数据/表单的 ASP.Net MVC 编辑器模板

    我正在实现一个 MVC3 Razor Web 应用程序 该应用程序检索用户可以从其他服务编辑的一些 字段 因此要在视图中编辑的属性列表是完全动态的并且在编译时未知 我编写了一些部分视图和 HTML 帮助程序 它们循环从其他服务检索到的组和属
  • 当没有实现 INotifyPropertyChanged 的​​对象时如何更新绑定。 WPF

    我有一个ViewModel它继承自BindableBase类 它是 Prism 中的一个类 它实现了INotifyPropertyChanged public class MyViewModel BindableBase 我有一个使用的属性
  • WPF 每次打开和关闭窗口时都会增加内存

    我已经做了非常简单的测试 只是为了了解 wpf 如何与内存一起工作 我用一个窗口创建一个项目 其中有一个Button 第二个窗口完全是空的 当我按下Button单击打开第二个窗口 窗口 1 后面的代码
  • 计算 bing 地图中两点之间的距离

    我有一个 bing 地图和两个点 Point1 Point2 我想计算这两点之间的距离 那可能吗 如果我想在 point1 和 point2 之间以及 point2 附近的路径的三分之二处放置一个圆 我该怎么做 微软有一个GeoCoordi
  • 强制关闭代码中所有打开的弹出窗口

    我想让所有打开的弹出窗口 StaysOpen false 从代码中关闭 基本上我想从代码中模拟用户单击鼠标 这将关闭弹出窗口 我不需要实际模拟点击 我只需要结果行为 我想过只浏览视觉树寻找弹出窗口并关闭每个弹出窗口 但这似乎不是最干净的方法
  • 在两个屏幕上拉伸 WPF 窗口

    我是 WPF 的初学者 我希望我的应用程序能够跨越两个具有相同分辨率的屏幕 我需要一个示例代码应用程序 因为我不知道从哪里开始 谢谢 The Screen课程将为您提供有关所有屏幕的信息 在之前没有实际做过的情况下 我会尝试以下操作 int
  • 在资源字典wpf中共享数据模板的一部分

    我有一个 ResourceDictionary 列出了我的 wpf 应用程序中使用的不同样式
  • 在 C# 中显示来自原始未压缩数据源的实时视频:WPF 与 Winforms

    我有一个实时的 16 位灰度视频流 它作为原始 未压缩的字节流 每像素 2 字节 2 18 像素 帧 32 帧 秒 通过内存中的环形缓冲区推送 这是通过 PCI 图像采集卡来自科学级相机的 我想对视频进行一些简单的处理 剪辑动态范围 着色
  • 如何动态设置每个 Gridview 图像项的边框

    我想显示每个 gridview 项目的不同边框 我如何动态地为每个项目设置边框

随机推荐

  • SQL中如何复制表避免游标?

    我想用 SQL 编写脚本 将这 2 个表 A B 复制到其他 2 个表 C D 其结构与 A B 相应 重要的 表C D是NOT必要的空 多个进程可以同时调用脚本 表A具有表B的外键 fk a b Table A Table B id FK
  • 使用 JavaScript / jQuery 进行简单的数字验证

    JavaScript jQuery 中有没有简单的方法来检查变量是否是数字 最好没有插件 我想提醒变量是否是数字 提前致谢 我不会推荐isNaN函数来检测数字 因为 Javascript 类型强制 Ex isNaN returns fals
  • 如何将 Maven 清单添加到指定依赖项的 AAR

    我 终于 能够使用以下命令将我的 Android 库发布到 AWS S3 maven 存储库this指导 它以 AAR 而不是 JAR 文件的形式发布 这意味着即使生成的 POM 文件列出了其所有内部依赖项 但在将库添加到另一个项目时它们也
  • 如何在 Visual Studio 2008 Express 中禁用异常助手和未处理的异常弹出窗口

    我正在使用 Visual Studio 2008 Express 并正在编写单元测试 其中存在许多预期的未处理异常 这会导致在调试器中运行这些测试时显示大量异常助手弹出窗口 我已在 VS 选项中禁用异常助手 但会弹出一个不同的未处理异常对话
  • 将扩展关联到程序的脚本

    我的客户正在将某些工作站中的 MS Office 替换为 OpenOffice 我的程序使用 xml 扩展名 使用开放格式 将文件导出到 Excel 并使用当前关联的程序 使用 ShellExecute 打开它 问题是 OpenOffice
  • 如何在 R Shiny 中设置单个 selectInput 菜单的样式?

    您可以将 css 样式应用到单个 selectInput 菜单吗 我在其他文章中找到了处理 selectInput 菜单样式的代码 但结果会影响应用程序中的所有内容 我只想操作单独的菜单 我还在考虑根据服务器中发生的条件向各个元素添加样式
  • 用 Prolog 编写的正则表达式解析器

    我已经在这个家庭作业问题上用头撞墙几个小时了 我们必须用 Prolog 解析正则表达式 在大多数情况下 我的谓词都可以工作 但是有一些正则表达式和字符串组合会导致它们耗尽 SWI Prolog 中的堆栈空间 以下是包含两种正则表达式字符串组
  • MediaController 定位 - 绑定到 VideoView

    关于如何定位 已经有很多讨论了 MediaController大多数答案都是使用setAnchorView 方法 乍一看这个解决方案似乎有效 但就我而言却无效 根据这个Post setAnchorView仅作为初始定位的参考MediaCon
  • 进入 docker 容器,exec 丢失 PATH 环境变量

    这是我的 Dockerfile FROM ros kinetic ros core xenial CMD bash 如果我跑docker build t ros docker run it ros 然后从容器内echo PATH 我去拿 o
  • 使用动态规划将自然数表示为平方和

    问题是找到求和为数字 n 所需的最小平方数 一些例子 min 1 1 1 min 2 2 1 1 min 4 1 2 min 13 2 3 2 我知道拉格朗日四平方定理它指出任何自然数都可以表示为四个平方和 我正在尝试使用 DP 来解决这个
  • 如何在 Process.StandardOutput 中禁用输出缓冲

    这个问题以前已经被问过不止一次了 但我在这些讨论中都没有找到令人满意的答案 我正在启动一个命令行进程 该进程可以对 STDOUT 进行实时测量 大约每秒产生一个新结果 使用 System Diagnostics Process Standa
  • php 和 mongodb 中的时间戳

    我花了三天时间试图解决这个问题但没有成功 我正在使用 MongoDB PHP 库 并且尝试使用 PHP 文档中的示例将时间戳转换为有效日期 但它总是返回 1970 01 17 代码是 utcdatetime new MongoDB BSON
  • 防止 NuGet 内容和 contentFiles 文件夹中出现重复文件

    我的 NuGet 包需要提供一些相当大的文件来构建输出目录 在旧的 NuGet 模型中 此类文件必须存储在content的文件夹 nupkg 当在一个NuGet 3 3 中引入的新模型 此类文件必须存储在contentFiles folde
  • Phonegap - 忽略 Android 上的字体大小显示设置

    通过配置更改字体大小显示设置时 我在某些 Android 设备上遇到问题 在网络浏览器中 我的应用程序很简单 忽略这一点 对于其他一些手机也是如此 但对于某些特定的手机 如摩托罗拉 G 或 X 更改此配置也会影响我的 Phonegap 应用
  • C# 字符串格式化和填充

    看起来这应该是一件简单的事情 但我一直没能做到正确 我看过http idunno org archive 2004 14 01 122 aspx以供参考 例子 我想打印一个双精度值表 每个双精度输出具有 3 位小数精度 并占用 10 个空格
  • Babel 6 CLI:意外的令牌导出?

    我正在尝试使用它的 CLI 来运行 Babelbabel node但我不断得到Unexpected token export错误 我知道 Babel 6 都是关于插件的 我需要通过设置插件 babelrc但它似乎不能正常工作 这是我的问题
  • Boost序列化库升级

    我怎么知道我可以安全升级Boost序列化库在生产系统上而不破坏与现有数据的兼容性 我是否应该执行任何测试 以确保新版本能够成功读取以前版本的库以二进制格式存储的所有数据 Boost Serialization 库本身是否保证版本之间的某种兼
  • 如何触发对 Jackson 中实现 JsonSerialized 的类的 .serializeWithType() 的调用?

    这是杰克逊 2 2 x 我有一堂课实施JsonSerializable 该接口有两种实现方法 serialize and serializeWithType 我想测试这个类的序列化 并且我可以触发对serialize 容易地 然而 并非如此
  • 使用 pandas 创建日期范围列表

    我得到了包含 start date 和 end date 列的 DataFrame start date finish date 0 2019 06 16 2019 06 23 1 2019 05 29 2019 06 05 2 2019
  • DynamicResource 颜色不适用于边框上的 BorderBrush - Bug?

    Visual Studio 2010 NET WPF 4 0 我认为这可能是一个 WPF 错误 但我似乎找不到有关它的错误报告 为了弥补我错过了一些明显的东西的可能性 我转向 stackoverflow 寻求答案 考虑这个 xaml 代码隐