我有一个简单的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);
如果它不起作用,我相信你被 ReactiveUI 4.1 中的错误咬了。升级到 4.2(几天前发布)可能会修复它。