将属性注册为 DependencyProperty

2023-11-29

我有一个名为 ChartView 的用户控件。我有一个 ObservableCollection 类型的属性。我已经在 ChartView 中实现了 INotifyPropertyChanged。

ChartEntry 的代码是:

public class ChartEntry
{
   public string Description { get; set; }
   public DateTime Date { get; set; }
   public double Amount { get; set; }
}

现在我想在另一个视图中使用此控件,并通过 DataBinding 设置 ChartEntries 的 ObservableCollection。如果我尝试这样做:

<charts:ChartView ChartEntries="{Binding ChartEntriesSource}"/>

我在 xaml 窗口中收到一条消息,指出我无法绑定到非依赖属性或非依赖对象。

我尝试将 ObservableCollection 注册为 DependencyProperty,但没有成功。 我用来自的代码尝试过WPF教程

我的附加属性代码是

 public static class ChartEntriesSource
    {
        public static readonly DependencyProperty ChartEntriesSourceProperty =
            DependencyProperty.Register("ChartEntriesSource",
                                                typeof(ChartEntry),
                                                typeof(ChartView),
                                                new FrameworkPropertyMetadata(OnChartEntriesChanged));

        private static void OnChartEntriesChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {

        }

        public static void SetChartEntriesSource(ChartView chartView, ChartEntry chartEntries)
        {
            chartView.SetValue(ChartEntriesSourceProperty, chartEntries);
        }

        public static ChartEntry GetChartEntriesSource(ChartView chartView)
        {
            return (ChartEntry)chartView.GetValue(ChartEntriesSourceProperty);
        }
    }

这也行不通。 如何将我的财产注册为 DependencyProperty?


你似乎有点困惑AttachedProperty and a DependencyProperty。忘记你的ChartEntriesSource类...相反,添加这个DependencyProperty进入你的ChartView控制应该可以解决问题:

public static readonly DependencyProperty ChartEntriesProperty = DependencyProperty.
Register("ChartEntries", typeof(ObservableCollection<ChartEntry>), typeof(ChartView));

public ObservableCollection<ChartEntry> ChartEntries
{
    get { return (ObservableCollection<ChartEntry>)GetValue(ChartEntriesProperty); }
    set { SetValue(ChartEntriesProperty, value); }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将属性注册为 DependencyProperty 的相关文章

  • C#动态支持吗?

    看完之后这个帖子 https stackoverflow com questions 2674906 when should one use dynamic keyword in c sharp 4 0k和链接 我还有 2 个问题 问题 1
  • 向 ExpandoObject 添加方法时,“关键字 'this' 在静态属性、静态方法或静态字段初始值设定项中无效”

    我尝试向 ExpandoObject 添加一个动态方法 该方法将返回属性 动态添加 给它 但它总是给我错误 我在这里做错了什么吗 using System using System Collections Generic using Sys
  • 如何在 Android NDK 中创建新的 NativeWindow 而无需 Android 操作系统源代码?

    我想编译一个 Android OpenGL 控制台应用程序 您可以直接从控制台启动 Android x86 运行 或者从 Android x86 GUI 内的 Android 终端应用程序运行 这个帖子 如何在 Android NDK 中创
  • 32 位应用程序的特征最大矩阵大小

    所以 我正在寻找Eigen http eigen tuxfamily org index php title Main Page当我尝试声明大于 10000x10000 的矩阵时 包崩溃 我需要声明一个像这样的矩阵 可靠地大约有 13000
  • 使用post方法将多个参数发送到asp.net core 3 mvc操作

    使用 http post 方法向 asp net mvc core 3 操作发送具有多个参数的 ajax 请求时存在问题 参数不绑定 在 dot net 框架 asp net web api 中存在类似的限制 但在 asp net mvc
  • C++:重写已弃用的虚拟方法时出现弃用警告

    我有一个纯虚拟类 它有一个纯虚拟方法 应该是const 但不幸的是不是 该接口位于库中 并且该类由单独项目中的其他几个类继承 我正在尝试使用这个方法const不会破坏兼容性 至少在一段时间内 但我找不到在非常量方法重载时产生警告的方法 以下
  • 如何使用recv()检测客户端是否仍然连接(并且没有挂起)?

    我写了一个多客户端服务器程序C on SuSE Linux 企业服务器 12 3 x86 64 我为每个客户端使用一个线程来接收数据 我的问题是 我使用一个终端来运行服务器 并使用其他几个终端来运行服务器telnet到我的服务器 作为客户端
  • 暂停下载线程

    我正在用 C 编写一个非常简单的批量下载程序 该程序读取要下载的 URL 的 txt 文件 我已经设置了一个全局线程和委托来更新 GUI 按下 开始 按钮即可创建并启动该线程 我想要做的是有一个 暂停 按钮 使我能够暂停下载 直到点击 恢复
  • 访问者和模板化虚拟方法

    在一个典型的实现中Visitor模式 该类必须考虑基类的所有变体 后代 在许多情况下 访问者中的相同方法内容应用于不同的方法 在这种情况下 模板化的虚拟方法是理想的选择 但目前这是不允许的 那么 模板化方法可以用来解析父类的虚方法吗 鉴于
  • 检查算术运算中的溢出情况[重复]

    这个问题在这里已经有答案了 可能的重复 检测 C C 中整数溢出的最佳方法 https stackoverflow com questions 199333 best way to detect integer overflow in c
  • 如何从网站下载 .EXE 文件?

    我正在编写一个应用程序 需要从网站下载 exe 文件 我正在使用 Visual Studio Express 2008 我正在使用以下代码 private void button1 Click object sender EventArgs
  • 生产代码中的 LRU 实现

    我有一些 C 代码 需要使用 LRU 技术实现缓存替换 目前我知道两种实现LRU缓存替换的方法 每次访问缓存数据时使用时间戳 最后比较替换时的时间戳 使用缓存项的堆栈 如果最近访问过它们 则将它们移动到顶部 因此最后底部将包含 LRU 候选
  • 是否可以有一个 out ParameterExpression?

    我想定义一个 Lambda 表达式out范围 有可能做到吗 下面是我尝试过的 C Net 4 0 控制台应用程序的代码片段 正如您在 procedure25 中看到的 我可以使用 lambda 表达式来定义具有输出参数的委托 但是 当我想使
  • 耐用功能是否适合大量活动?

    我有一个场景 需要计算 500k 活动 都是小算盘 由于限制 我只能同时计算 30 个 想象一下下面的简单示例 FunctionName Crawl public static async Task
  • strcmp 给出分段错误[重复]

    这个问题在这里已经有答案了 这是我的代码给出分段错误 include
  • 运算符“==”不能应用于“int”和“string”类型的操作数

    我正在编写一个程序 我想到了一个数字 然后计算机猜测了它 我一边尝试一边测试它 但我不断收到不应该出现的错误 错误是主题标题 我使用 Int Parse 来转换我的字符串 但我不知道为什么会收到错误 我知道它说 不能与整数一起使用 但我在网
  • 我在在线程序挑战编译器中遇到演示错误

    include
  • 使用 C# 从 DateTime 获取日期

    愚蠢的问题 给定日期时间中的日期 我知道它是星期二 例如我如何知道它的 tue 2 和 mon 1 等 Thanks 您正在寻找星期几 http msdn microsoft com en us library system datetim
  • 带重定向标准流的 C# + telnet 进程立即退出

    我正在尝试用 C 做一个 脚本化 telnet 项目 有点类似于Tcl期望 http expect nist gov 我需要为其启动 telnet 进程并重定向 和处理 其 stdin stdout 流 问题是 生成的 telnet 进程在
  • Googletest:如何异步运行测试?

    考虑到一个包含数千个测试的大型项目 其中一些测试需要几分钟才能完成 如果按顺序执行 整套测试需要一个多小时才能完成 通过并行执行测试可以减少测试时间 据我所知 没有办法直接从 googletest mock 做到这一点 就像 async选项

随机推荐

  • Keras 模型 R 中自定义函数的名称

    我创建了一个自定义损失函数 RMSE function y true y pred k sqrt k mean k square y pred y true 它工作正常 但是当我运行时 model loss Get
  • 当子进程不退出时,Python 的 subprocess.Popen 对象挂起收集子输出

    当进程异常退出或根本不退出时 我仍然希望能够收集到目前为止它可能生成的输出 此示例代码的明显解决方案是使用 os kill 终止子进程 但在我的实际代码中 子进程挂起等待 NFS 并且不响应 SIGKILL usr bin python i
  • 无法删除(绑定的)事件侦听器

    我是 javascript 的新手 我遇到了以下问题 在多次搜索后我无法在以前的答案中找到该问题 希望这不是重复的 我有以下模块 类 假设我正在尝试实现一个可以在屏幕上拖动的组件 当 的时候用户第一次点击它 我们开始听mousemove的事
  • Facebook API 和 Spring Social -- 如何发布朋友墙

    我有一个 Facebook 应用程序设置为需要扩展权限 publish stream 设置 gt gt 权限 gt gt 扩展权限 publish stream 我还有一个名为 scope 的隐藏输入字段 其值包括 publish stre
  • 更好地理解 Javascript OOP 架构 [重复]

    这个问题在这里已经有答案了 当我阅读 Angularjs 的 UI 插件的一些示例时 我偶然发现了一些代码 这些代码表明我对 Javascript 的了解还有待提高 以下是 Angular 提供程序内部的一个类 function Dialo
  • nvarchar(MAX) 最多可容纳多少个字符?

    我对这个概念很陌生nvarchar MAX 它可以容纳多少个字符 最大限度 容量为 2 GB 空间 因此您看到的 2 字节字符刚好可以容纳在一个NVARCHAR MAX field 使用其他答案的更详细的数字 您应该能够存储 2 31 1
  • 为什么 1>>32 == 1?

    我想知道这是否是一个 JVM 错误 java版本 1 6 0 0 OpenJDK 运行时环境 IcedTea6 1 4 1 6b14 1 4 1 0ubuntu13 OpenJDK 64 位服务器 VM 内部版本 14 0 b08 混合模式
  • 解码 Azure 移动服务 JWT 令牌时出现 JwtSecurityToken 异常

    以下代码 using System IdentityModel Tokens JwtSecurityToken jwtSecurityToken new JwtSecurityToken rawToken 生成以下异常 Jwt10113 U
  • 如何按升序对包含星期几名称的字符串进行排序

    我有一个包含星期几名称 开始时间和结束时间的字符串列表 List
  • 为什么 Ping 超时无法正常工作?

    我有 5 台电脑 我想 ping 这台电脑是否可用 所以我使用 C Ping 类 两台电脑可用 但当我对它们执行 ping 操作时 另外 3 台电脑已关闭 我的程序等待至少 7 秒才能响应 我只想检查 1000 毫秒并返回 OK 或 ERR
  • 如何从 Kotlin 资源中读取文本文件?

    我想用 Kotlin 编写 Spek 测试 如何从 HTML 文件中读取src test resources folder class MySpec Spek describe blah blah given blah blah var f
  • 如何确定 swf 是独立播放还是在其他 swf 中加载?

    我有两个 swf 一种某种 节目 以及一个充当 节目 加载程序的 菜单 show swf 可以以其自身的方式运行 或者通过 菜单 加载 有没有办法确定 显示 是独立运行还是加载到 菜单 中 一种解决方案是提供 菜单 Loader对象在加载的
  • 在 Dart 中将子类分配给工厂构造函数

    The KeyFlutter 中的类有一个factory构造函数更像是一个变量 abstract class Key const factory Key String value ValueKey
  • 有没有办法在 SQL Server 中获取自定义格式的日期?

    在 Oracle 中 您可以使用 SELECT to char sysdate yyyy mm FROM dual 仅显示日期的年份和月份部分 此外 您还可以设置NLS DATE FORMAT更改默认返回日期的方式 我知道在 SQL Ser
  • 打开图元标签

    我使用 Facebook 应用程序 shortstack 来制作我的页面 当我使用短 URL 共享出版物时 我想对其进行个性化 我已经测试创建开放图元标记 但它不起作用 您需要在页面中添加 opengraph 元标记 例如
  • android 支持 v14 PreferenceFragment 崩溃

    我正在尝试使用 PreferenceFragment 在 Android 应用程序中显示设置android support v14 preference图书馆 但是 当我尝试打开首选项时 应用程序崩溃并出现奇怪的 NullPointerEx
  • 扩展 UserCreationForm 以包含电子邮件、名字和姓氏

    我已经被困在这个问题上有一段时间了 似乎无法弄清楚发生了什么 我刚刚开始学习 Django 我设置了登录 现在想要实现一个注册页面 我首先使用 UserCreationForm 表单 效果很好 但我想添加电子邮件 名字和姓氏字段 我想我可以
  • 为什么在 C++/Java 和类似语言中以美元符号开头的变量名不好?

    为什么在 C Java 和 PHP 中的类似变量名中以美元符号开头是不好的 编辑 有什么风险吗 在Java中 使用 in 变量是合法的 但绝对是一个坏主意 如果这样做 则存在意外使用与编译器本身或某些代码生成器使用的名称冲突的名称的风险 结
  • Firebase 在大数据集上的性能

    我正在为一个项目测试 firebase 该项目可能有相当多的密钥 可能有数百万个 我已经测试过使用节点加载几万条记录 加载性能看起来不错 然而 如果我展开根节点 FORGE Web UI 会变得极其缓慢 并且会渲染每条记录 Firebase
  • 将属性注册为 DependencyProperty

    我有一个名为 ChartView 的用户控件 我有一个 ObservableCollection 类型的属性 我已经在 ChartView 中实现了 INotifyPropertyChanged ChartEntry 的代码是 public