我在说什么
在 WPF 表单上,我可以为深度嵌套的对象创建一个简单的 WPF 绑定:
<TextBox Name="TextBox1" Text="{Binding Path=Very/Deeply/Nested/Object}"></TextBox>
当层次结构中的任何属性发生更改时,TextBox1 将自动更新。因此,例如,如果对象 'Very' 的属性 'Deeply' 发生变化,WPF 将取消订阅前一个项目,并订阅新的层次结构。最终 Text 属性将被更新。
我想做的事
在 C# 方面,我需要在“对象”更改时获取回调。但是,我不需要在任何 WPF 控件中显示 Object。另外,我不想手动订阅/取消订阅整个层次结构,如何使用 C# 中 WPF 的订阅机制从深度嵌套的对象属性中获取回调?
我发现了一个不好的解决方案
我可以使 TextBox1 不可见(因为我实际上不需要显示该信息),并订阅它的 TextChanged 事件。这很简单,它可能会起作用,但它看起来确实是一个糟糕的方法......
看这个问题的另一种方式
您可以在控件属性之外的其他东西上使用绑定机制吗?IDK,我可以创建某种非静态且不断订阅的资源吗?该资源将使用指定的绑定,并且我可以从该资源订阅单个“已更改”事件。
欢迎任何帮助!