- 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 做出反应。