Ein neues Feature in Silverlight 4, ist die Möglichkeit Meldungen von Out-Of-Browser-Anwendungen so darzustellen, wie man es bisher nur von Systemmeldungen aus dem Systemtray oder von Outlook her kannte. Dadurch bekommt man viele neue Möglichkeiten und Szenarien für Anwendungen bereitgestellt.

Das folgende Video demonstriert, wie man diese Technik für einen Live-Ticker benutzen könnte.

Get Microsoft Silverlight

Wie kann man nun dieses Feature in eigene Silverlight-Anwendungen integrieren?

Als erstes muss die Anwendung Out-Of-Browser fähig sein. Das kann über die Einstellungen des Projektes realisiert werden.

image

Damit man etwas außerhalb der eigentlichen Anwendung etwas darstellen kann benötigt man ein NotificationWindow. Das NotificationWindow ist ein Container für die eigentliche Darstellung der Meldung.

Die Meldung gestaltet man am besten als Steuerelement/Control, dann hat man die besten Designmöglichkeiten.

Für die Darstellung werden lediglich die folgenden wenigen Zeilen Code benötigt.

NotificationWindow _nw;
FootballControl _football = new FootballControl();
int _goals;
 
private void _showInfo_Click(object sender, RoutedEventArgs e)
{
    if (_nw == null)
    {
        _nw = new NotificationWindow();
    }
 
    _nw.Content = _football;
    _nw.Width = 220.0;
    _nw.Height = 100;
    _nw.Show(5000);
 
    DispatcherTimer _timer = new DispatcherTimer();
    _timer.Interval = new TimeSpan(0, 0, 15);
    _timer.Tick += (s, e1) =>
        {
            _goals++;
            _football.Team1 = _goals.ToString();
            _nw.Show(5000);
        };
    _timer.Start();
}

 

Download des Sourcecodes