mvvmcross - PropertyChanged.Fody DependsOn 不工作
问题描述
- MvvmCross 8.0.2
- PropertyChanged.Fody 3.4.0
我刚刚注意到 DependsOn 属性不起作用。我已验证 PropertyChanged 事件正在触发。
PropertyChanged += (sender, args) => {
_logger.LogDebug($"property changed: {args.PropertyName}");
};
[Debug] property changed: IsConnected
但是这样的事情不会引发属性更改事件ConnectButtonTitle
public bool IsConnected => _kneeBluetoothService.IsConnected;
[DependsOn(nameof(IsConnected))]
public string ConnectButtonTitle => IsConnected ? "Disconnect" : "Connect";
我有一个 FodyWeavers 文件。
<Weavers>
<PropertyChanged />
</Weavers>
我有点困惑为什么这在这个项目中不起作用。关于检查什么的任何想法?如果我删除 PropertyChanged.Fody,那么我的属性更改事件不会触发,因此它在这方面起作用。
- - - 编辑
显然,我用一个扩展方法破坏了一些东西,我创建了一个链接到另一个对象的“dependsOn”。我创建了一个演示该问题的最小项目。 https://github.com/Hackmodford/DependsOn_broken_example
----- 编辑 2
我已经加倍努力并创建了一个删除 ReactiveUI 的分支。同样的问题。手动触发更改的属性似乎不会导致 fody 做出反应。
解决方案
推荐阅读
- algorithm - 逆适应(遗传算法)
- cypress - Cypress:如何防止测试运行程序在 cy.visit() 处重新加载?
- performance - Matlab - 使用 afterEach 进行并行文件搜索
- java - com.mysql.cj.jdbc.exceptions.CommunicationsException: 运行 jar 文件时通信链接失败
- python - 无法使用 Selenium 获取元素的文本
- c++ - for(int i=0,u,v; ...) 是什么意思?
- html - CSS 网格项设置图像的大小
- javascript - 如何将目录文件名存储在字符串数组中
- c++ - “文件系统”成员不在“标准”命名空间中
- reactjs - 如何创建步骤 - 带有tailwindcss的步进器反应?