문제

새로운 것에 대한 과대 광고가있었습니다 반응성 프레임 워크 .NET 4.0에서. 나는 기본 개념을 표지했다고 생각하지만 그것이 완전히 팔리지 않았다는 것이 유용하다고 생각합니다. RX의 힘과 유용성을 완전히 보여주는 좋은 모범을 얻을 수 있습니까? RX로 끝날 때 인생이 훨씬 쉬워지는 것을 보여주십시오.

도움이 되었습니까?

해결책

다음은 빠른 예입니다. LINQ에 이벤트를 사용하여 완전히 선언적인 방식으로 드래그 작업을 프로그래밍하십시오.

   //Create an observable with the initial position and dragged points using LINQ to Events
   var mouseDragPoints = from md in e.GetMouseDown()
                           let startpos=md.EventArgs.GetPosition(e)
                           from mm in e.GetMouseMove().Until(e.GetMouseUp())
                           select new
                           {
                             StartPos = startpos,
                             CurrentPos = mm.EventArgs.GetPosition(e),
                           };

STARTPOS에서 현재 POS로 선을 그립니다

//Subscribe and draw a line from start position to current position  
            mouseDragPoints.Subscribe  
                (item =>  
                { 
                  //Draw a line from item.Startpos to item.CurrentPos
                }
                ); 

보시다시피, 모든 곳에서는 이벤트 핸들러가없고 주 관리를위한 부울 변수가 없습니다.

그 geteventName () 메소드에 대해 궁금한 점이 있다면이 기사 전체를 읽고 소스 코드를 다운로드하여 재생하도록 제안하십시오.

여기에서 읽고 소스와 함께 연주하십시오 >>

다른 팁

최근에 내 블로그에 데모 단계별로 데모를 썼습니다. http://blog.andrei.rinea.ro/2013/06/01/bing-in-reactive-extensions-code-and-slides/

기본적으로 RX 및 Bing 검색으로 WPF에서 작은 앱을 구축합니다.

enter image description here

앱은 입력을 중지하고 비동기 검색을 수행하고 결과를 제시 할 때까지 대기합니다. 결과가 오기 전에 다른 검색을 발행하면 기존 검색이 자동으로 삭제됩니다.

Enter 또는 "Go!"를 눌러 검색을 강제로 대기 시간을 건너 뛸 수 있습니다. 버튼과 클리어 버튼을 눌러 진행중인 검색을 중지 할 수 있습니다. 바쁜 표시기와 일부 오류 처리가 있습니다 (예를 들어 네트워크가 줄어든 경우).

다루는 주요 주제 :

  • 이벤트에서 관찰 가능한 생성 (TextChanged, Button.Click 등)
  • 비동기 대의원 (비동기 검색)
  • TakeUntil 확장
  • ConstruntImchanged Extension (Custom Equals 포함)
  • 연장을 병합하십시오
  • 스로틀 확장
  • ObserveOn Extension (UI 스레드 동기화)

.. 그리고 더!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top