Nachrichten als Meldungen


NewsMessageGrid - eine Nachrichtentabelle, die mit NewsMessage-Meldungen statt mit Geschäftsobjekten arbeitet. Sie zeigt Zeit, Quelle, Kennung, Überschrift und den Link auf den vollständigen Text.
Haupteigenschaften
- NewsMessageGrid.Messages - Liste der Nachrichtenmeldungen.
- NewsMessageGrid.SelectedMessage - ausgewählte Meldung.
- NewsMessageGrid.SelectedMessages - ausgewählte Meldungen.
- NewsMessageGrid.MaxCount - maximale Zeilenzahl der Tabelle; bei Überschreitung werden die ältesten Zeilen entfernt.
- NewsMessageGrid.SubscriptionProvider - Abonnementanbieter, bei dem die Tabelle den vollständigen Nachrichtentext anfordert.
Die fertige Kombination aus Tabelle und Nachrichtentext ist NewsMessagePanel. Es enthält NewsMessageGrid und NewsStoryPanel: Bei Auswahl einer Zeile fordert das Panel den Text beim Abonnementanbieter an und zeigt ihn unten an.
Nachfolgend Codeausschnitte zur Verwendung:
<Window x:Class="Sample.NewsWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:xaml="http://schemas.stocksharp.com/xaml"
Height="400" Width="900">
<xaml:NewsMessagePanel x:Name="NewsPanel" />
</Window>
// Abonnementanbieter setzen - darüber wird der Nachrichtentext angefordert
NewsPanel.SubscriptionProvider = _connector;
// Eingehende Nachrichten im Oberflächen-Thread in die Tabelle eintragen
_connector.NewsReceived += (subscription, news) =>
this.GuiAsync(() => NewsPanel.NewsGrid.Messages.Add(news.ToMessage()));
// Nachrichtenabonnement anlegen
_connector.Subscribe(new Subscription(DataType.News));