C# 订阅ReactiveUI中用户控件的依赖项属性

C# 订阅ReactiveUI中用户控件的依赖项属性,c#,wpf,wpf-controls,dependency-properties,reactiveui,C#,Wpf,Wpf Controls,Dependency Properties,Reactiveui,我正在尝试使用ReactiveUI订阅依赖项属性中的更改 在用户控件上 我在另一个stack overflow answer()中看到了描述的技术,但是我在实现的某个地方出了问题。即使在下面这个简单的例子中,当依赖项属性更改时,我也无法获得fire订阅 以下是我的代码的相关部分: public partial class AutoCompleteBox : UserControl { public static readonly DependencyProperty SelectedIt

我正在尝试使用ReactiveUI订阅依赖项属性中的更改 在用户控件上

我在另一个stack overflow answer()中看到了描述的技术,但是我在实现的某个地方出了问题。即使在下面这个简单的例子中,当依赖项属性更改时,我也无法获得fire订阅

以下是我的代码的相关部分:

public partial class AutoCompleteBox : UserControl
{
    public static readonly DependencyProperty SelectedItemProperty =
    DependencyProperty.Register("SelectedItem",typeof(object),typeof(AutoCompleteBox),
    new FrameworkPropertyMetadata{BindsTwoWayByDefault = true});

    public object SelectedItem
    {
        get { return (object)GetValue(SelectedItemProperty); }
        set { SetValue(SelectedItemProperty, value); }
    }

    public AutoCompleteBox()
    {
        InitializeComponent();               
        this.WhenAny(m=>m.SelectedItem,m=>m.Value)
            .Subscribe(_=>
            Console.WriteLine("Selected Item Changed!"));
    }
}
编辑

我使用的是ReactiveUI版本4.4.2.0

在进一步的调查中,当我在我的主项目中使用用户控件时,subscribe调用似乎确实起作用,而不是在我用来测试它的小项目中。我不确定会有什么不同

几个问题:

  • 您的代码中是否有对ReactiveUI.Xaml的引用?如果加载不正确,这将不起作用
  • 您使用的是什么版本的ReactiveUI
  • 有几个问题:

  • 您的代码中是否有对ReactiveUI.Xaml的引用?如果加载不正确,这将不起作用
  • 您使用的是什么版本的ReactiveUI

  • 我刚刚添加了对ReactiveUI.Xaml的引用,但是当所选项目发生更改时,订阅似乎仍然没有启动。然而,它似乎在应用程序启动时被解雇过一次。有什么想法吗?我使用NuGet将ReactiveUI依赖项添加到我的小测试项目中。它下载了ReactiveUI 4.4.3。订阅呼叫现在可以工作了!所以这肯定是一个引用或版本问题,尽管我不知道是哪个,因为两个变量同时发生了变化:)我刚刚添加了一个对ReactiveUI.Xaml的引用,但当所选项目发生变化时,订阅似乎仍然没有启动。然而,它似乎在应用程序启动时被解雇过一次。有什么想法吗?我使用NuGet将ReactiveUI依赖项添加到我的小测试项目中。它下载了ReactiveUI 4.4.3。订阅呼叫现在可以工作了!所以这肯定是一个引用或版本问题,尽管我不知道是哪个,因为两个变量同时发生了变化:)