In this post Rick Barraza talks about building a real time fluid dynamics effect.
The fluid simulation you see above takes an entirely different approach. Instead of creating, attaching, animating and deleting independent User Controls dozens of times a second, all the visual logic is calculated in memory in a byte array and the only the final calculation is rendered into a WriteableBitmap, which we then display on screen. Long story short, it is significantly faster for computers to do some array math and shoot out a single picture than for us to force the program to literally juggle thousand and thousands of Visuals at a time, with all the unnecessary overhead this would require.