수색…


TextBox에서 TextChanged 이벤트 관찰

관찰 가능 항목은 TextBox의 TextChanged 이벤트에서 만들어집니다. 또한 모든 입력은 마지막 입력과 다르거 나 0.5 초 내에 입력이없는 경우에만 선택됩니다. 이 예제의 출력은 콘솔로 보내집니다.

Observable
     .FromEventPattern(textBoxInput, "TextChanged")
     .Select(s => ((TextBox) s.Sender).Text)
     .Throttle(TimeSpan.FromSeconds(0.5))
     .DistinctUntilChanged()
     .Subscribe(text => Console.WriteLine(text));

관찰 가능한 데이터베이스에서 스트리밍 데이터

IEnumerable<T> , fe를 반환하는 메서드가 있다고 가정합니다.

private IEnumerable<T> GetData()
{
    try 
    {
        // return results from database 
    }
    catch(Exception exception)
    {
        throw;
    }
}  

Observable을 작성해, 비동기 적으로 메소드를 기동합니다. SelectMany 는 컬렉션을 평평하게 만들고 구독을 200 개 요소마다 Buffer 통해 시작합니다.

int bufferSize = 200;

Observable
    .Start(() => GetData())
    .SelectMany(s => s)
    .Buffer(bufferSize)
    .ObserveOn(SynchronizationContext.Current)
    .Subscribe(items => 
    {
        Console.WriteLine("Loaded {0} elements", items.Count);
        
        // do something on the UI like incrementing a ProgressBar
    },
    () => Console.WriteLine("Completed loading"));


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow