设置默认样式键的方法之间的差异

2023-12-26

我正在创建一个自定义控件(源自Control)并想要为控件定义默认主题。以前我创建的所有自定义控件,我都使用过

static IntegerUpDown()
{
    DefaultStyleKeyProperty.OverrideMetadata(typeof(IntegerUpDown), 
    new FrameworkPropertyMetadata(typeof(IntegerUpDown)));
}

有了这个assembly属性:

[assembly: ThemeInfo(ResourceDictionaryLocation.SourceAssembly,
ResourceDictionaryLocation.SourceAssembly)]

执行此操作的替代方法是(我也在某些控件中注意到)-

public IntegerUpDown()
{
    DefaultStyleKey = typeof(IntegerUpDown);
}

我想知道这两种方法的优缺点以及更喜欢哪一种?


我可以观察到第一种方法要求依赖属性框架注册默认样式键。它只执行一次(在静态构造函数中),然后用于所有实例IntegerUpDown。第二种方法在实例时显式分配 KeyIntegerUpDown是自己创建的。他们俩对我来说似乎都不错。

MSDN 说...

元数据可以被覆盖,以便子类可以通过以下方式调整 DP 覆盖属性的元数据,而不是完全覆盖 重新实现属性本身。

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

设置默认样式键的方法之间的差异 的相关文章

  • 从网络共享运行 .NET 4.0 应用程序时出现异常

    我有一个 NET 4 0 C 控制台应用程序 该应用程序被部署到网络文件共享 我相信是 Windows 2000 Server 文件服务器 如下所示 server share Apps Beta Group JobName JobName
  • .net 4.5 可以与 .net 4.0 并行工作吗?

    我有兴趣安装 NET 4 5 但我听说这是就地升级 由于我公司的用户使用的是Windows XP 我无法发布任何使用 NET 4 5 的客户端应用程序 http visualstudio uservoice com forums 12157
  • 使用 RenderTargetBitmap 的 WPF 画布区域的快照

    我想在我的应用程序中创建画布区域的快照 我使用 Visual Brush 来获取快照并使用 PngEncoder 保存相同的快照 但生成的 PNG 只是一个空的黑色图像 我不确定问题是与创建的 BitmapSource 还是 PNGEnco
  • Web UI 中的 .Result 出现死锁

    我正在阅读以下主题http blog stephencleary com 2012 07 dont block on async code html http blog stephencleary com 2012 07 dont bloc
  • 有没有比这更快的方法来查找目录和所有子目录中的所有文件?

    我正在编写一个程序 需要在目录及其所有子目录中搜索具有特定扩展名的文件 这将在本地驱动器和网络驱动器上使用 因此性能是一个问题 这是我现在使用的递归方法 private void GetFileList string fileSearchP
  • 从代码访问 WPF 控件验证规则

    XAML
  • PreRequestHandlerExecute 中的会话为空

    在我的 ASP NET 4 0 应用程序中 我在 global asax cs 中有一个 PreRequestHandlerExecute 的事件处理程序 我想访问会话中的数据 大多数时候 会话是被定义的 但有时它是空的 有人可以解释一下什
  • [程序名称].exe已停止工作

    我有一个基于 Framework 2 0 构建的 NET 应用程序 我已经为它构建了一个安装程序 并尝试在具有 3 5 的计算机上运行它 所有相关环境均在Windows 7上 该应用程序在我的开发机器上以 VS 调试模式完美运行 该机器也具
  • ListView onScroll 事件

    我正在编写一个简单的 C 应用程序 我需要 Listview 上的 onScroll 事件 所以我创建了ListviewEx类继承原来的ListView 我找到了如何从 WinAPI 检测滚动消息 并修改了 WndProc 方法 现在我有这
  • SqlConnection - 是远程连接还是本地连接?

    如果我有 SqlConnection 对象 如何确定它是本地连接 localhost 或 127 0 0 1 还是远程连接 本地区域的其他计算机 使用连接询问 SQL 语句 SELECT SERVERNAME 然后验证这是否与客户端计算机的
  • wpf工具包折线图,无点且具有不同的线条颜色

    我有一些图表 我想动态添加没有数据点的 LineSeries 只是带有一些自定义颜色的线条 我发现隐藏数据点的唯一方法是 Style style new Style typeof LineDataPoint style Setters Ad
  • 实体框架 SQLite 错误 1:“没有这样的表:__EFMigrationsHistory”

    我在 Windows 和 Linux 上运行 EF Core 并且在两者上都遇到相同的问题 public string DbPath get string DbPath Environment GetFolderPath Environme
  • 删除窗口的背景图像 WPF

    我在 WPF 中遇到问题 其中窗口在关闭后 应用程序的另一部分尝试写入图像之前不会释放其对背景图像文件的文件锁定 举个例子 假设我有一个 WPF 应用程序 由 3 个窗口 1 个 菜单 选择窗口和另外 2 个窗口组成 两个窗口都会创建一个I
  • 将“String”转换为 c# .net 中 MD5“String”的 Base64 编码

    如何将我的密码 字符串 转换为 MD5 字符串 的 Base64 编码 就像这个字符串 password to X03MO1qnZdYdgyfeuILPmQ 请在这里帮助我 或者只是让我知道如何转换这个技术 password to X03M
  • 如何从字符串中提取子字符串直到遇到第二个空格?

    我有一个像这样的字符串 o1 1232 5467 1232 5467 1232 5467 1232 5467 1232 5467 1232 5467 如何仅提取 o1 1232 5467 要提取的字符数并不总是相同 因此 我只想提取直到遇到
  • 静态构造函数和 BeforeFieldInit?

    如果类型没有静态构造函数 则将执行字段初始值设定项 就在使用该类型之前 或者在某个时间点突发奇想 运行时 为什么这段代码 void Main start Dump Test EchoAndReturn Hello end Dump clas
  • 链接 .Net 程序集

    这都是假设 所以请耐心等待 假设我正在用 C 编写一个名为 Foo 的工具 输出是 foo exe 我发现了一些我喜欢使用的非常棒的库 称为 Bar 我可以在我的项目中将其引用为 bar dll 当我构建项目时 我的输出目录中有 foo e
  • Guid.NewGuid().GetHashCode() 用于数据库

    这对于用作数据存储 SQL Server 的 ID 可靠吗 我会使用 guid 但我更喜欢数字值 A guid更有可能代表一个记录uniquely than a numeric value 随着 GUID 确保全球唯一性 GUID 可以跨数
  • TextBlock TextWrapping 不换行 #2

    好吧 那么this https stackoverflow com questions 6625177 textblock textwrapping not wrapping解决方案没有帮助 XAML 在这里
  • 将键码转换为相关的显示字符

    在 C Windows Forms 项目中 我有一个不提供 KeyPressed 事件的控件 它是一个 COM 控件 ESRI 映射 它仅提供 KeyUp 和 KeyDown 事件 包含关键事件参数 http msdn microsoft

随机推荐

  • 编译 C 程序时体系结构 x86_64 的未定义符号[重复]

    这个问题在这里已经有答案了 我有一个简单的程序演示 use c include libhello h int main void hello return 0 libhello h void hello void libhello c in
  • Java 中的 PrintWriter 或任何其他输出流不知道“\r\n”

    我在使用 PrintWriter 或任何其他输出流在服务器和客户端程序之间发送消息时遇到问题 如果我使用 println abc 进行通信 它可以正常工作 但是如果我使用 print abc r n print abc n 或 print
  • Objective-C 中的自动释放池 - 释放主 AutoreleasePool?

    根据我的理解 当一个对象被发送时autorelease消息 如果除中的自动释放池之外不存在自动释放池main m 该对象被放置在main m 假设这是正确的 我有几个问题 1 所有自动释放的对象是否都会保留在该池中直到应用程序终止 2 如果
  • NSAttributedString 文本始终以较大的 lineHeight 粘在底部

    我正在尝试实现来自 Sketch 的按设计标签 例如我需要字体大小 19 和行高 50 的文本样式 所以我最终使用NSAttributedString with NSMutableParagraphStyle但因文本粘在底部的问题而停止UI
  • \r 和 \n 有什么区别?

    How are r and n不同的 我认为这与 Unix Windows 和 Mac 有关 但我不确定它们究竟有何不同 以及在正则表达式中搜索 匹配哪些内容 他们是不同的角色 r是回车符 并且 n是换行 在 旧 打印机上 r将打印头送回行
  • 将 anticaptcha 与 selenium 集成

    我正在使用 Selenium Python 尝试填写表格 然后填写验证码 我找到了 python anticaptcha 并购买了 10 美元的积分 一切正常 验证码出现了 但什么也没发生 我花了几个小时试图寻找答案 查阅他们的 api 和
  • Android TabLayout 在启动时选择第一个选项卡

    我正在使用 Android 设计库中的 TabLayout 我有多个选项卡 每个选项卡在被选择时都有一个操作 所以我有一个属性 startSelection 它执行 tabLayout getTabAt startSelection sel
  • 如何在处理注释时写入 Gradle 日志记录?

    我有一个javax annotation processing Processor我用来生成源文件 这一切都工作正常 但我想在构建过程中将一些调试消息写入控制台 我可以使用注释Messeger类 但这不允许我利用 Gradle 日志记录 我
  • r 闪亮滑块输入轮

    我的 R 闪亮滑块输入有问题 如您所见 圆形功能 不起作用在这幅图片中 https i stack imgur com v4nd6 png 我做错什么了吗 sliderInput Er Choose expected return in p
  • 在哪里检查 android 片段中的方向变化

    在我的应用程序中 我有一个FragmentActivity与多个Fragment除了一个特定的情况外 全部处于纵向模式Fragment 我在之间移动Fragment通过页脚View是在FragmentActivity 我有不同的布局 实际上
  • 如何测试我的 Django 电子邮件视图是否可以捕获 BadHeaderError?

    我有一个带有电子邮件表单的 Django 视图 它允许用户输入主题和消息 并将其作为电子邮件发送给站点管理员 我想编写一个单元测试来确保该视图可以捕获错误标头错误 https docs djangoproject com en 1 4 to
  • SQLiteAsyncConnection UpdateWithChildren 不可用

    我正在尝试使用 SQLite net 在我的 PCL 内实现 OneToMany 关系 我有异步扩展包 SQLiteNetExtensions Async 并且我的代码基于中找到的示例https bitbucket org twincode
  • 在 Google Analytics API 中使用和查询自定义维度

    我正在尝试查询我的 Analytics 通用 以接收按自定义维度排序的指标列表 7月 Google Analytics API 博客 http analytics blogspot com 2013 07 40 new data point
  • 循环图的数据结构和算法

    我需要定义Data Structure and Algorithm for Circular Data Graph对于网络客户端 在服务器上 数据将以 2 列 CSV 格式提供 例如发送方 接收方 最终输出将呈现在JSON格式并发送到网络请
  • 以编程方式设置约束

    我正在尝试如何使用 UIScrollView 经过一番折腾 我终于掌握了窍门 但现在我似乎遇到了另一个障碍 在这个简单的应用程序中 我有一个滚动视图 为了使其工作 我必须将视图的底部空间设置为滚动视图约束为 0 如上所述here https
  • Kotlin 有恒等函数吗?

    Scala 有一个泛型identityPredef 中的函数 def identity A x A A Kotlin 在标准库中有类似的工具吗 当然我可以简单地使用 it 相反 但我发现identity更容易阅读 并且实例化所有这些 lam
  • 根据用户角色和产品类别应用不同的税(Woocommerce)

    如果用户具有特定角色 但仅限于某些产品类别 我需要应用不同的税 示例 如果具有 Vip 角色的客户 A 购买 Bravo 或 Charlie 类别的商品 则适用的税费将为 4 而不是 22 这是我写的代码 另一部分是在谷歌上找到的 但我不明
  • 猫鼬更新 MongoDB 中的字段不起作用

    我有这个代码 var UserSchema new Schema Username type String index true Password String Email String Points type Number default
  • 重置 MySqli 指针?

    我在重置指针方面遇到了一些困难 我想这样做是因为我将在同一脚本中使用同一查询两次 据我所知 我可以在循环获取数组后重置指针来做到这一点 如果有更好的方法来做到这一点 我很想听听 无论如何 这就是我得到的 getEvent connectio
  • 设置默认样式键的方法之间的差异

    我正在创建一个自定义控件 源自Control 并想要为控件定义默认主题 以前我创建的所有自定义控件 我都使用过 static IntegerUpDown DefaultStyleKeyProperty OverrideMetadata ty