ReativeUI和观察嵌套属性

时间:2015-12-09 19:28:07

标签: c# xaml reactiveui

我的问题是我对嵌套属性的订阅没有响应。

这是我的XAML:

<TextBox Header="Enter test data:" 
         Text="{Binding UserEntryTest.Synced.Value, Mode=TwoWay}" />

视图模型中的属性(提取):

    private EditableFieldSynced<string> userEntryTest;
    public EditableFieldSynced<string> UserEntryTest
    {
        get { return userEntryTest; }
        set { this.RaiseAndSetIfChanged(ref userEntryTest, value); }
    }

EditableFieldSynced中的Synced属性实际上是一个继承ReactiveObject的基类:

    public T _synced;
    public T Synced
    {
        get { return _synced; }
        set { this.RaiseAndSetIfChanged(ref _synced, value); }
    }

在它的构造函数中,我订阅了这样的Synced:

   this.WhenAnyValue(x => x.Synced.Value)
       .Subscribe(x => this.ApplyLocalChanges(x));

实际上,无论我在此订阅中添加哪个课程,当用户输入文字时它都没有响应......

我是ReactiveUI的新手,我做错了什么?

当然,如果我使用EditableFieldSynced中的属性ValueSynced来展平模型,该属性订阅了基于属性Synced.Value的更改的两种方式,它确实会触发,但我想以自动方式完成它 - - 如果可能的话。

0 个答案:

没有答案