Reactive UI จะใช้ WhenAny โดยใช้สองคุณสมบัติได้อย่างไร

ฉันกำลังพยายามใช้ WhenAny (Reactive UI) เป็นครั้งแรก

เมื่อ Identifier =="xyz" และฟิลด์ IsMax มีการเปลี่ยนแปลง ต้องการตั้งค่าท้องถิ่นให้เป็นจริงในการสมัครสมาชิก

   this.WhenAny(x => x.IsMax, x => x.Value)
       .Subscribe(x => 
            {
                if (Identifier == "xyz")
                {  
                   isOk = true; 
                }
            });

แต่มีวิธีอื่นในการรวมเงื่อนไขของตัวระบุด้วยหรือไม่


person Rajesh Kapure    schedule 02.03.2015    source แหล่งที่มา
comment
หากชื่อคุณสมบัติของคุณคือค่าจริงๆซึ่งอาจเป็นปัญหาได้เพราะมันตรงกับค่าเดียว WhenAny() ลองใช้ WhenAnyValue() ด้วยและการสมัครสมาชิกก็จะมี args ( arg1, arg2 ) =› ...   -  person kenny    schedule 03.03.2015


คำตอบ (1)


ฉันไม่คุ้นเคยกับ ReactiveUI แต่ถ้าใช้ IObservable เดียวกันกับ Reactive Extensions คุณก็สามารถทำได้:

   this.WhenAny(x => x.IsMax, x => x.Value)
       .Where(_ => Identifier == "xyz")
       .Subscribe(_ => 
           {
               isOk = true;
           });

นี่คือสิ่งที่คุณต้องการใช่ไหม?

ป.ล.: ฉันควรจะถามสิ่งนี้ในความคิดเห็น แต่ฉันยังไม่มีชื่อเสียงเพียงพอ

person Szabolcs Dézsi    schedule 03.03.2015
comment
คุณถูกต้องว่าควรเป็นความคิดเห็นเนื่องจากไม่ได้ตอบคำถามด้วย ReactiveUI ตามที่ถาม - person kenny; 03.03.2015
comment
ฉันต้องการบรรลุเป้าหมายเดียวกันโดยใช้ UI แบบโต้ตอบ - person Rajesh Kapure; 04.03.2015