0

DPのプロパティを監視するためにreactiveUIを使用しますコードは

/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
    public MainWindow()
    {
        RxApp.DeferredScheduler = DispatcherScheduler.Current;
        InitializeComponent();
        this.WhenAny(i => i.Width, i => i.Value).Subscribe(_ => SomeMethod("Width"));
        this.WhenAny(i => i.Height, i => i.Value).Subscribe(_ => SomeMethod("Height"));
    }

    void SomeMethod(string hello)
    {
        MessageBox.Show(hello);
    }

}

ウィンドウの高さでサイズを変更するとメッセージボックスはありませんが、ウィンドウの幅でサイズを変更すると2つのメッセージボックスが表示されます

2つのプロパティを1つで監視できることはわかっていますが、異なるタイプの2つの依存関係プロパティを2つのWhenAnyで監視する必要があります。

これどうやってするの?

4

1 に答える 1

1

うーん。このバグをhttp://github.com/reactiveui/reactiveui/issuesに提出できますか?それまでの間、次のようなシムを使用する必要があるかもしれません。

var changedObservable = new Subject<Unit>();
this.SizeChanged += (o,e) => changedObservable.OnNext(Unit.Default);
于 2012-12-21T19:40:54.297 に答える