12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Net;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Documents;
- using System.Windows.Input;
- using System.Windows.Media;
- using System.Windows.Media.Animation;
- using System.Windows.Shapes;
- using System.Reactive;
- using System.Reactive.Linq;
- namespace SilverlightApplication
- {
- public partial class MainPage : UserControl
- {
- public MainPage()
- {
- InitializeComponent();
- Loaded += new RoutedEventHandler(MainPage_Loaded);
- }
- void MainPage_Loaded(object sender, RoutedEventArgs e)
- {
- var portableClass = new PortableClassLibrary.PortableClass();
- // Create timer and route output to list1
- portableClass.CreateTimer(10, TimeSpan.FromSeconds(1.5))
- .Buffer(2)
- .ObserveOnDispatcher()
- .Subscribe(items =>
- {
- foreach (var item in items)
- list1.Items.Add(item);
- }, onCompleted: () =>
- {
- list1.Items.Add("Finished");
- });
- // Create list observer and route output to list1, but specify scheduler instead of using SubscribeOnDispatcher
- var scheduler = System.Reactive.Concurrency.DispatcherScheduler.Current;
- portableClass.CreateList(scheduler)
- .Delay(TimeSpan.FromSeconds(1))
- .ObserveOn(scheduler)
- .Subscribe(item =>
- {
- list2.Items.Add(item);
- }, onCompleted: () =>
- {
- list2.Items.Add("Finished");
- });
- }
- }
- }
|