Wpf 不依赖于依赖项属性时的反应UI

Wpf 不依赖于依赖项属性时的反应UI,wpf,system.reactive,reactiveui,Wpf,System.reactive,Reactiveui,我有一个简单的WPF应用程序,有两个文本框和ReactiveUI。我尝试使用WhenAny查找第一个文本框的依赖属性 public partial class MainWindow : Window { public MainWindow() { RxApp.DeferredScheduler = DispatcherScheduler.Current; InitializeComponent(); Text1.WhenAny(i

我有一个简单的WPF应用程序,有两个文本框和ReactiveUI。我尝试使用WhenAny查找第一个文本框的依赖属性

 public partial class MainWindow : Window
{
    public MainWindow()
    {
        RxApp.DeferredScheduler = DispatcherScheduler.Current;
        InitializeComponent();
        Text1.WhenAny(i => i.Text, i => i.Value).Subscribe(_ => SomeMethod());

    }

    void SomeMethod()
    {
        MessageBox.Show("Boom!");
    }

}
我的表格代码是

<Window x:Class="TestObservable.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"></ColumnDefinition>
        <ColumnDefinition Width="*"></ColumnDefinition>
    </Grid.ColumnDefinitions>
    <TextBox Name="Text1" Grid.Column="0"></TextBox>
    <TextBox Name="Text2" Grid.Column="1"></TextBox>

</Grid>

但当我更改文本框文本时,它不会显示给我

有什么问题吗?

试试这个:

this.WhenAny(x => x.Text1.Text, x => x.Value);
如果它不起作用,我相信您正在被ReactiveUI4.1中的一个bug所困扰。升级到4.2(几天前发布)可能会修复它。

尝试以下方法:

this.WhenAny(x => x.Text1.Text, x => x.Value);

如果它不起作用,我相信您正在被ReactiveUI4.1中的一个bug所困扰。升级到4.2(几天前发布)可能会修复它。

ReactiveUI是一个MVVM框架。你的ViewModel在哪里?这是错误的演示,我有ViewModel,但它太复杂了,无法在这里显示。使用上面的方法,我无法得到任何错误。它按预期工作。ReactiveUI是一个MVVM框架。你的ViewModel在哪里?这是错误的演示,我有ViewModel,但它太复杂了,无法在这里显示。使用上面的方法,我无法得到任何错误。它按预期工作。