首页 > 解决方案 > PropertyChanged.Fody DependsOn 不工作

问题描述

我刚刚注意到 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 做出反应。

标签: mvvmcrossfody-propertychanged

解决方案


推荐阅读