101 Rx Examples
I'm reading http://www.introtorx.com, which like the name suggests appears to be a concise introduction. There appear to be quite a lot of (very basic) examples, step-by-step, mostly using the console to print stuff out.
To start with - Here is a simple drawing application, so that when the user drags, we draw a red line from the initial mouse down position to the current location, and also a blue spot at the current location. This is the result of my last week's hack on Rx
And here is the source code.
//A draw on drag method to perform the draw
void DrawOnDrag(Canvas e)
{
//Get 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),
};
//Subscribe and draw a line from start position to current position
mouseDragPoints.Subscribe
(item =>
{
e.Children.Add(new Line()
{
Stroke = Brushes.Red,
X1 = item.StartPos.X,
X2 = item.CurrentPos.X,
Y1 = item.StartPos.Y,
Y2 = item.CurrentPos.Y
});
var ellipse = new Ellipse()
{
Stroke = Brushes.Blue,
StrokeThickness = 10,
Fill = Brushes.Blue
};
Canvas.SetLeft(ellipse, item.CurrentPos.X);
Canvas.SetTop(ellipse, item.CurrentPos.Y);
e.Children.Add(ellipse);
}
);
}
Read my post with further explanation here and Download the source code here
Hope this helps
Another useful resource may be the Reactive Extensions (Rx) Koans: 55 progressive examples to help you learn Rx