如何设置从 DependencyObject 派生的类型的 DependencyProperty 的默认值

2024-03-03

我正在创建一个自定义 WPF 控件NOT一个用户控件。此自定义控件有两个属性(UnselectedAppearance 和 SelectedAppearance)。这两个属性具有相同的类型(外观),均派生自 DependencyObject。 Appearance 类本身有几个 DependencyProperties。我想知道为每个外观属性设置默认值的正确方法。我尝试过如下代码,但是当我尝试在设计器中使用自定义控件时,会引发异常。

public static readonly DependencyProperty UnselectedAppearanceProperty = DependencyProperty.Register("UnselectedAppearance", typeof(Appearance), typeof(FNDie), new PropertyMetadata(new Appearance()));

我有什么办法可以做到这一点吗?


依赖属性的默认值在该依赖对象的所有实例之间共享,因此除 null 之外的值通常仅对值类型或不可变类有意义。换句话说,您可能会经历惨痛的教训,null 可能是您最好的选择。

如果您迫切需要为依赖项属性设置可变引用值,则可以将默认值保留为 null 并在构造函数中设置它。但是,您应该意识到,这样做将使该属性无法使用样式进行设置,这可能是一个严重的限制,具体取决于您的需要。

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

如何设置从 DependencyObject 派生的类型的 DependencyProperty 的默认值 的相关文章

  • 使用 WPF 数据绑定将 NULL 值显示为“NULL”的最简单方法是什么?

    我有一个遗留数据库 我正在使用 Linq to Sql 为其构建自定义查看器 现在表中的某些字段可以具有 NULL 值 在 DataTemplate 中使用普通数据绑定 为 ORM 设计器生成的类键入
  • WPF 数据绑定 - 对于具有验证规则的所有绑定,将 NotifyOnValidationError 设置为 true

    在我的 WPF 应用程序中 我想设置NotifyOnValidationError to true 框架默认为 false 对于所有子控件 绑定 如果它们有任何附加到绑定的 ValidationRules 事实上 最好也指定其他绑定默认值
  • 如何将图像转换为字节数组[重复]

    这个问题在这里已经有答案了 有人能建议我如何将图像转换为字节数组 反之亦然吗 我正在开发 WPF 应用程序并使用流读取器 将图像更改为字节数组的示例代码 public byte ImageToByteArray System Drawing
  • WPF - 为什么 Keyboard.Focus() 不起作用?

    TabItem 控件上有一个 TextBox 项 MyTextBox 我的代码如下所示 MyTextBox Focus Keyboard Focus MyTextBox 当我通过调试器运行此代码时 执行行后我会看到以下内容 MyTextBo
  • 指定 Xaml 中开始标记和结束标记之间的属性

    考虑以下 Xaml
  • 将 RenderTargetBitmap 转换为 System.Drawing.Image

    我有 3D WPF 视觉对象 我想将其传递到 Excel 单元格 通过剪贴板缓冲区 对于 普通 BMP 图像 它可以工作 但我不知道如何转换RenderTargetBitmap 我的代码如下所示 System Windows Media I
  • wpf中基于绑定bool属性的样式对象

    如何使用 wpf 中的 xaml 更改我在 mvvm 设置中要使用的对象的填充颜色 当绑定的属性设置为 True 时 我想将填充颜色更改为红色 该属性称为 IsRound 如果需要的话我会发布代码 我现在不在电脑上 UPDATED 有人可以
  • WPF 位图到图像的转换仅显示黑色图像

    我确实在以 wpf Image 形式显示图像 uEye Cam 时遇到一些问题 显示的 图像全黑 下面是我使用的代码 Get Cam Bitmap Image var cam new uEye Camera cam Init cam Mem
  • WPF:名称空间中不存在该名称[重复]

    这个问题在这里已经有答案了 我正在使用 VS2013 构建 C WPF 应用程序 并且具有以下类定义 在正在运行的应用程序的同一程序集中 namespace MyNamespace public class MyKey public MyK
  • 列表框仅显示一项

    我有一个ListBox和一个带有字符串的类 每次用户单击应用程序中的添加按钮时 我都会创建该类的一个新实例并将其添加到绑定到的列表中ListBox 第一次单击 添加 按钮时 列表框显示第一项 但下次单击时不再显示两项 XAML 这是List
  • 使用 MVVM 时 XamDataGrid 列可见性不起作用

    我正在尝试在 MVVM 架构中实现 XamDataGrid 列可见性 但它似乎不起作用 我正在执行以下操作 为未绑定字段添加可见性属性
  • 如何为 WPF 工具包图表提供样式

    我在 WPF 应用程序中使用 WPF Toolkit Chart 和 PieChart 我想将饼图图片中的默认白色背景更改为透明 如何提供风格来实现这一目标 WPF 旨在允许您通过 XAML 设置控件样式 不是代码 还可以通过样式使饼图中的
  • WPF 依赖项属性:为什么需要指定所有者类型?

    这就是我注册的方式DependencyProperty public static readonly DependencyProperty UserProperty DependencyProperty Register User type
  • Wpf ScrollViewer 滚动量

    是否可以更改 WPF ScrollViewer 滚动的量 我只是想知道是否可以更改滚动查看器 以便在使用鼠标滚轮或滚动查看器箭头时可以更改增量滚动量 简短的答案是 如果不编写一些自定义滚动代码 就无法做到这一点 但不要让这吓到你 这并不那么
  • 如何重新启动 WPF 应用程序?

    如何从代码重新启动 WPF 应用程序 在 Windows 窗体中存在 Application Restart 但出于某种原因 Microsoft 决定不在 WPF 中添加此方法 我讨厌 WPF 和 Windows 窗体之间的不兼容 喜欢 w
  • wpf自定义控件:另一个矩形内的可拖动/可调整大小的矩形

    我正在研究一个带有两个矩形的控件 一个在另一个矩形内 我希望用户能够拖动内部矩形 调整其大小 如果可能的话 也可以在外部矩形的边界内旋转它 这些值应该是可绑定的 以便我可以在更新时将这些值存储在我的数据源中 是否已经有这样的控件或者有人有任
  • 如何用ListBox制作自定义控件?

    我想用自定义的项目模板制作水平ListBox 所以我制作了它的基本模板 但是 我找不到将 事物 绑定到 WPF XAML 的示例 尤其是在 ListBox 填充了自定义项的情况下 我只是想动态添加 删除列表框中的项目 其中包含图像 标签 组
  • WPF 我应该如何评估属性路径?

    我正在编写一个自定义控件 并且我有一个字符串形式的属性路径 认为comboBox SelectedValuePath 代码中评估任意对象的该字符串的最佳方法是什么 显然我可以自己解析它 但这是一个黑客 我希望路径支持一切comboBox S
  • 如何在 Visual Studio 2010 中增强 XAML 设计器?

    当我使用 XAML 设计器时 进入设计器和退出设计器是如此困难和缓慢 当我这样做时 Visual Studio 卡了一段时间 有什么方法可以增强 XAML 设计器和编辑器吗 Ant 保存 XAML 文件时非常慢 这通常意味着您可能有复杂的
  • XAML:如何定义要在多个项目中使用的数据模板和样式

    我开始使用 WPF net 3 5 sp1 仅使用 VS 尚未混合 开发桌面应用程序 我现在的情况是 我在几个库中有一些通用的可重用组件 我可以在哪里定义样式和数据模板 以便它们可以在多个项目中重复使用 从而获得一致的外观和感觉 我看过 R

随机推荐

  • 如何将 Bootstrap CDN 添加到我的 WordPress

    我想在我的 Wordpress 中使用 Bootstrap 框架 如何在functions php 中编辑 我找到一个地方告诉这样的代码 function enqueue my scripts wp enqueue script jquer
  • 带有 Spring-boot 后端的 Flutter websocket

    好吧 Flutter 在食谱中有 WebSocket 配方 here https flutter dev docs cookbook networking web sockets 这对于 websocket org 测试服务器非常有效 问题
  • WPF - 更改隐藏代码中的样式

    我有一个显示 TFS 查询结果的列表框 我想更改后面代码中 ListBoxItem 的样式 以使查询结果中包含列 ListBox 项的样式在我的 Windows Resources 部分中定义 我已经尝试过这个 public T GetQu
  • Nginx 不区分大小写 proxy_pass

    我有一个网站叫http example com 正在运行一个可以通过以下位置访问的应用程序http example com app1 app1 位于 nginx 反向代理后面 如下所示 location app1 proxy pass ht
  • BeautifulSoup 返回意外的额外空格

    我正在尝试使用 BeautifulSoup 从 html 文档中获取一些文本 在一个对我来说非常相关的案例中 它产生了一个奇怪而有趣的结果 在某一点之后 汤在文本中充满了额外的空格 空格将每个字母与下一个字母分开 我试图在网络上搜索以找到原
  • 识别何时使用模运算符

    我知道modulus http en wikipedia org wiki Modulo operation 运算符计算除法的余数 如何确定需要使用模运算符的情况 我知道我可以使用模运算符来查看数字是偶数还是奇数 素数还是合数 但仅此而已
  • 使用 Pandas 时明显缺少 dateutil.tz 包?

    我的python 2 7代码如下 import pandas as pd from pandas import DataFrame DF rando DataFrame 1 2 3 然后当我执行时 我收到一个奇怪的错误dateutil tz
  • 如何将通用 JavaScript 对象序列化为 XML

    主流 JavaScript 库 YUI jQuery Dojo 之一是否提供了将 JavaScript 对象序列化为 XML 作为文本 的方法 有no用于本机对象到 XML 序列化的本机 API 然而 有一些 3rd 方库 比如这个 它会输
  • 从外部程序集中动态加载类型

    在托管代码中 假设调用代码没有对该程序集的静态引用 如何在运行时从另一个程序集加载托管类型 为了澄清起见 假设我将 Lib cs 中的类 Lib 编译为 Lib dll 我想在一个名为 Foo dll 的单独程序集中编写一个类 Foo 它没
  • Django:如何从时间帖子中获取时差?

    假设我有一个模型课程 class Post models Model time posted models DateTimeField auto now add True blank True def get time diff self
  • 如何声明和使用 NSString 全局常量[重复]

    这个问题在这里已经有答案了 可能的重复 Objective C 中的常量 https stackoverflow com questions 538996 constants in objective c 我将一些应用程序设置存储在 NSU
  • 缺少授权类型错误

    我只是想学习 OAuth 我写了一些代码来测试它 当我提交请求时我得到 错误 无效请求 error description 缺少授权类型 邮递员的错误 import java util Optional import static org
  • 在 Python 中分割大型 XML 文件

    我希望将一个巨大的 XML 文件分割成更小的部分 我想扫描文件以查找特定标签 然后获取 和 之间的所有信息 然后将其保存到文件中 然后继续浏览文件的其余部分 我的问题是试图找到一种干净的方法来记录标签的开始和结束 以便我可以在使用 for
  • Windows 卷上的 docker-compose 不工作

    过去一周我一直在使用 Docker 认为容器的想法非常有用 但是尽管在过去 3 天里我阅读了所有内容 但我还是无法让卷映射发挥作用 get docker compose to use my existing volume Docker Ve
  • 在 Jenkins CI 中成功构建后打包多个发布配置文件 .pubxml

    我在用着Jenkins https jenkins ci org 用于持续集成 现在我有一份使用这个命令的工作Jenkins在构建步骤的命令行参数中 这是命令 WORKSPACE OEVizion ITVizion OEVizion Web
  • 提取 .zip 存档的最快方法

    提取 zip 档案的最快方法是什么 我的应用程序的性能很大程度上取决于提取 zip 文件的速度 我正在使用 dotNetzip atm 但似乎可以有更多更快的工具 如果有 他们安全吗 我听说 QuickLZ 是最快的 但没有测试过 也没有找
  • Rails Select helper in form required True 不起作用

    我有一个 Rails 3 2 21 应用程序 其中使用select助手的形式如下 这适用于选择选项的基本功能 包括空白选项等 但是不起作用的是 required gt true or the class gt select 即使选择为空并且
  • 如何计算两个 Zend_Date 对象之间的差异(以月为单位)

    我有两个对象Zend Date类 我想计算它们在整个日历月中的差异 我该怎么做
  • 在 Swing GUI 中提供空白

    没有空白的 GUI 显得 拥挤 如何在不显式设置组件位置或大小的情况下提供空白 使用各种LayoutManagers可以在各个组件之间提供间距 1 边框布局 重载构造函数 BorderLayout int水平间隙 int垂直间隙 http
  • 如何设置从 DependencyObject 派生的类型的 DependencyProperty 的默认值

    我正在创建一个自定义 WPF 控件NOT一个用户控件 此自定义控件有两个属性 UnselectedAppearance 和 SelectedAppearance 这两个属性具有相同的类型 外观 均派生自 DependencyObject A