Creating an "alert" mechanism
<p>Looking for a bit of help/advice on solving a particular problem. I've got a small-ish Silverlight application (C#, .Net 4), and I'd like to add the facility to display "alerts" to the user based on certain data meeting certain criteria. The alerts need to be displayed to the user somewhere on the page, and be displayed for a certain number of seconds (say 5 in this example) before showing the next one. Once all alerts have been displayed, the first alert needs to be shown again providing it's still "valid".</p>

<p>For example, the data meets certain criteria and I'll like to show:</p>

<pre><code>Alert A
Alert B
Alert C
</code></pre>

<p>.. the user would see "Alert A" for 5 seconds, then Alert B, then C, before cycling back to Alert A. Then Alert B is no longer necessary - the data has changed - whilst Alert A is being shown, so after Alert A has been on the screen for 5 seconds Alert C is shown. Then, the data meets some other criteria and <code>Alert D</code> is generated, so after Alert C has been shown for it's 5 seconds, Alert D is shown, and then back to A .. and so on.</p>

<p>I expect to do the actual UI update using some kind of Timer, but: I can't decide whether it would be better to evaluate the data for alert conditions every 5 seconds, and then juggle the "known" alerts accordingly, or to have some kind of "queue" to add/update alerts when the conditions are met - e.g. check if an alert is already in the "queue" and don't add it.</p>

<p>I'm probably overthinking this whole thing: does anyone have any advice on the best mechanism to use?</p>
