更改时将事件附加到属性

2024-01-09

c# (silverlight) 是否有任何功能可以让我在不使用依赖属性的情况下监视用户控件的属性,以了解何时进行任何更改?我想要一个不是静态的。


有两种标准机制可以实现“观察”模式(即所描述的模式)。一是使用依赖属性。

另一个是INotifyPropertyChanged接口的实现。

public partial class MyUserControl : UserControl, INotifyPropertyChanged
{

  string _myProperty;
  public string MyProperty
  {
     get { return _myProperty; }
     set
     {
       _myProperty = value;
       NotifyPropertyChanged("MyProperty");
     }
  }

  private void NotifyPropertyChanged(string name)
  {
      if (PropertyChanged != null)
        PropertyChanged(this, new PropertyChangedEventArgs(name);
  }

  public event PropertyChangedEventHandler PropertyChanged
}

为了观看财产,您需要附加到PropertyChanged event.

MyUserControl control = new MyUserControl();
control += Control_PropertyChanged;

...

void Control_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
    if (e.PropertyName == "MyProperty")
    {
      //Take appropriate action when MyProperty has changed.
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改时将事件附加到属性 的相关文章

  • 分层架构中的异常处理

    我们正在分层设计中重构 当然还有重新设计 我们的服务 我们有服务操作层 BLL 网络抽象层 gt 处理网络代理 数据抽象层 但我们对我们的异常处理策略有点困惑 我们不想向外界透露太多 BLL 的信息 从其他层到bll就可以了 我们不想让 t
  • 双线性序列给出奇数结果

    我试图让我的表现技能 不存在 达到标准 但在将公式写入代码时遇到了问题 这是我试图将其引用为 转换 为代码的公式 考虑一个序列 u 其中 u 定义如下 号码u 0 1是第一个u 对于每个x in u then y 2 x 1 and z 3
  • MySql 最后插入 ID,连接器 .net

    我正在使用 MySql Connector net 我需要获取最后一个查询生成的插入 id 现在 我假设返回值是MySqlHelper ExecuteNonQuery应该是最后一个插入id 但它只返回1 我正在使用的代码是 int inse
  • 如何启动异步任务对象

    我想开始收集Task同时处理对象并等待所有对象完成 下面的代码显示了我想要的行为 public class Program class TaskTest private Task createPauseTask int ms works w
  • C++:将模板参数的模板类型成员添加为好友的正确语法?

    我有一个带有模板类型参数 tTRAIT 的类 我想加一个模板为好友type member aliastTRAIT 但我无法弄清楚语法 这可能吗 template
  • StreamReader,C#,peek

    我有一个 StreamReader 它偶尔会检查它是否有更多内容可以从简单的文本文件中读取 它使用 peek 属性 问题是 当我使用 peek 时 位置发生了变化 尽管不应该发生 FileStream m fsReader new File
  • 读取STM32 MCU SPI数据寄存器的值

    有很多类似的问题 但似乎没有一个问题完全相同 我正在将 STML4 MCU 连接到 6 轴传感器 LSM6DS3 我已经成功地在 I2C 中实现了所有内容 但想要 SPI 的额外速度 和 DMA 如果我能让这些第一步工作起来的话 因此 第一
  • C++:初始化静态字符串成员

    我在 C 中初始化静态字符串成员时遇到一些问题 我有几个类 每个类都包含几个表示 id 的静态字符串成员 当我通过调用静态函数初始化变量时 一切都很好 但是 当我想为一个变量分配另一个变量的值时 它仍然保留空字符串 这段代码有什么问题 st
  • 本地主机上的 .net HTTP_X_FORWARDED_FOR NULL

    抱歉 如果其他地方已经回答了这个问题 我找不到它 如果没有 我会尝试查找访问过该站点的机器的原始 IP 根据我的基本理解 变量HTTP X FORWARDED FOR无论代理和其他过滤器如何 都会显示用户的 IP 如果这是真的 我正在尝试对
  • 捕获另一个进程未处理的异常

    我想知道我是否可以捕获我开始使用 Process Start 的另一个进程抛出的未处理的异常 我知道我可以用这个捕获标准错误link http social msdn microsoft com Forums en US csharpgen
  • 使用 QGraphicsScene 实现流畅的动画

    我希望我的问题并不总是同样的问题 我有一个 QGraphicsScene 它的项目是一些 QGraphicsPixmap 我用一个计时器来移动它们 每秒 SetX 10 我设置 10是因为窗口大100 使用这个解决方案我的动画不流畅 我想我
  • 只读有运行时开销吗?

    出于某种原因 我一直认为readonly字段有与其相关的开销 我认为这是 CLR 跟踪是否存在readonly字段是否已初始化 这里的开销是一些额外的内存使用量 用于跟踪状态以及分配值时的检查 也许我这么认为是因为我不知道readonly字
  • 带有自定义鉴别器的 EntityFramework Code First 继承

    我正在尝试在 EntityFramework Code First 中映射以下继承 public class Member public string ProjectName get set public string AssemblyNa
  • SQL参数化查询不显示结果

    我的 DataAcess 类中有以下函数 但它没有显示任何结果 我的代码如下 public List
  • EWS - 给予预约,获取预约的所有者副本

    在 EWS 中进行预约后 是否可以获得所有者的副本 例如 如果我登录为user1 我有user1创建的约会的副本user2 我有冒充权 我要编辑user2预约的副本 我怎样才能获得user2 s copy 您可以使用 PidLidClean
  • 从 exit() 和 fork() 返回的结果奇怪地发生了位移

    我有一个 C 代码 有时会自行分叉 每个分叉都会执行一些操作 然后返回一个错误代码 目前 每个子进程返回其 ID 0 n void other int numero exit numero int main for int i 0 i lt
  • 未找到 _sqlite3_open 等符号错误

    您好 我收到此错误 Undefined symbols sqlite3 open referenced from main in ccRlWVer o sqliite3 close referenced from main in ccRlW
  • 为什么调试器只显示数组指针中的一个元素?

    首先 我知道new是执行此操作的 C 方法 我只是表明有不止一种方法可以重现此错误 而且两种方法都令人难以置信的令人沮丧 我有两种形式的源文件 我正在尝试调试另一个编程作业 但我并没有寻求帮助 基本上 我正在尝试重新实施set作为一个类 具
  • 如何在给定点停止线程?

    我试图停止一些线程 阅读一些有关优雅地执行此操作的正确方法的内容 但我一定做错了什么 因为它根本不起作用 起初我尝试不使用lock with IsRunning不稳定 然后尝试使用锁 这是我所拥有的 private volatile boo
  • C# amo 获取角色完整

    我正在开发一个 SSAS 项目 其中除其他事项外 我需要获取 C 中表格多维数据集的完整用户列表 目前我让它以这样的方式工作 我可以获得角色 但数据不完整 当我调用 Server Database Roles 为了便于阅读而简化 属性并枚举

随机推荐

  • Flot - 是否可以有第三个 y 轴或隐藏数据集?

    我有一个图表显示一个人的比赛时间 如果您将下面的代码复制 粘贴到任何一个flot示例中 它应该可以工作 我在 y1 轴上显示时间 在 y2 轴上显示每公里配速 因为它们都是 H M S 的时间 但我还想在图表中显示每场比赛的距离 由于此数据
  • asp.net MVC 和 RESTful 路由,rails 风格。是否可以?

    有什么方法可以让 MVC 中的路由工作真正平静 就像 Rails 的人所做的那样 我说的是嵌套网址 比如 bands metallica albums killemall track 4 我发现唯一有用的库是 Steve Hodgkiss
  • 在 .NET 5 项目的输出目录中创建了多余的“运行时”文件夹

    我刚刚将 WPF NET 4 6 项目迁移到 NET 5 我注意到它现在在输出目录中创建一个名为 runtimes 的文件夹 其中包含许多依赖于平台的 dll 由于此应用程序只能在 Windows 计算机上运行 因此是否可以阻止在 Visu
  • 在 iOS8 中使用 [UIView(Geometry) _applyISEngineLayoutValues] 重新进入视图时出现问题,但在 iOS7 中则不然

    我正在开发一个由其他人启动的应用程序 我相信是在 iOS 5 发布时启动的 大多数 UI 都是代码生成的 不会显式使用自动布局和约束 但是 有一些 后来添加的 自包含 UI 元素 在 nib xib 中定义 内部使用自动布局 这些元素包含在
  • 检查特定 gcc 编译器的 glibc 版本

    我的系统上安装了两个 gcc 编译器 一个是gcc 4 1 2 默认 另一个是gcc 4 4 4 如何查看使用的 libc 版本gcc 4 4 4 因为 lib libc so 6显示使用的 glibcgcc 4 1 2 因为它是默认编译器
  • 按接收顺序处理 WebSockets 消息

    我的应用程序的客户端部分需要严格按顺序处理 WebSocket 消息 不幸的是 每条消息的处理时间都相当长 大约 3 秒 因此在第一条消息结束之前会出现另一条消息 几条消息之后 顺序就完全不同了 如何在 JavaScript 中解决这个问题
  • 静态对象在多个正在运行的应用程序中是同一个对象吗?

    如果您有一个 Windows 服务和一个 Windows 窗体应用程序使用相同的静态对象 那么这两个应用程序中的对象是否相同 换句话说 如果我更新服务中的对象 如果两者同时运行 它也会在表单应用程序中更新吗 它们在不同的进程上运行 因此不共
  • 如何使用 Typescript 在 VueJs 手表中使用 Lodash debounce

    在 VueJS Javascript 中我可以这样做 import debounce from lodash debounce watch variable debounce function console log wow 500 在 V
  • 映射到 Java 8 中的运行总和

    如果我有一个集合 List
  • 如何使用 OpenSSL 创建和信任证书?

    如何使用 OpenSSL 创建有效的证书以在 IIS 中使用 HTTPS 绑定 它必须在 Firefox 和所有其他浏览器中工作 我使用的是 IIS 10 服务器 And Firefox v70 火狐开发者v72b5版本 Chrome v7
  • Qt支持虚拟纯插槽吗?

    我的 GUI 项目在Qt有很多 配置页面 类 它们都直接继承自QWidget 最近 我意识到所有这些类共享 2 个公共槽 loadSettings and saveSettings 对此 我有两个问题 编写一个中间基抽象类是否有意义 让我们
  • 处理来自 wxFrame 上的 wxTextCtrl 的事件 - C++/wxWidgets

    我有一个MyFrame其源自wxFrame A wxTextCtrl被添加到此框架中 我可以处理吗EVT KEY DOWN这个文本控件在框架中的位置 就像是 BEGIN EVENT TABLE wxTextCtrl wxControl EV
  • 如何使用 F# 可区分联合类型作为 TestCase 属性参数?

    我正在尝试测试 F 函数的返回结果是否与预期的可区分联合案例匹配 我正在使用 NUnit 来创建测试 它不喜欢将受歧视的联合类型作为TestCase范围 以下测试用例无法编译
  • 动态AndroidManifest.xml

    是否可以动态定义 AndroidManifest xml 的各个方面 例如 是否可以使用 Java 代码动态注册或编辑活动 服务和接收者的定义 如果是这样 此代码的放置位置是否有任何限制 还有什么可以动态定义的 我相信大多数可用的操作都由包
  • 打印 TCP 数据包数据

    在TCP通信中 当数据包从以太网传输到网络 IP 层时 我想打印该数据包中存在的数据 我正在Linux上工作 我得到一些信息 它可以在 Linux 内核代码的帮助下完成 即在 Linux NAT 防火墙代码中 但是我从哪里可以获得内核源代码
  • Android 使用 include 标签在 ConstraintLayout 中添加其他布局

    我正在使用 ConstraintLayout 制作一个简单的测试应用程序 但我有一个问题 这是我的代码 活动 main xml
  • 错误:“i”的名称查找已更改为 ISO“for”范围 [-fpermissive] [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 问 编写一个程序 发出 您不喜欢的单词 也就是说 您使用 cin 读取单词并在 cout 上再次打印它们 如果某个单词属于您定义的
  • 在unity3d中制作后台线程

    我有 wp7 应用程序有两个后台线程 1 时间规划 2 按计划时间播放不同的声音样本 同一时间可能有几个样本 如何用unity 3d引擎重复这个逻辑 是否可以 Unity 不允许您从主线程以外的任何线程访问其 API 你不能使用锁定原语来绕
  • Conda 包的版本信息与 __version__ 不对应

    我正在使用蟒蛇 myenv3 foo foo which conda home foo anaconda3 bin conda 在 myenv3 中我有dill 2 8 2安装 myenv3 foo foo conda list n mye
  • 更改时将事件附加到属性

    c silverlight 是否有任何功能可以让我在不使用依赖属性的情况下监视用户控件的属性 以了解何时进行任何更改 我想要一个不是静态的 有两种标准机制可以实现 观察 模式 即所描述的模式 一是使用依赖属性 另一个是INotifyProp