Noticias como mensajes


NewsMessageGrid - una tabla de noticias que trabaja con mensajes NewsMessage en lugar de entidades de negocio. Muestra la hora, la fuente, el identificador, el titular y el enlace al texto completo.
Propiedades principales
- NewsMessageGrid.Messages - lista de mensajes de noticias.
- NewsMessageGrid.SelectedMessage - mensaje seleccionado.
- NewsMessageGrid.SelectedMessages - mensajes seleccionados.
- NewsMessageGrid.MaxCount - número máximo de filas de la tabla; al superarlo se eliminan las filas más antiguas.
- NewsMessageGrid.SubscriptionProvider - proveedor de suscripciones al que la tabla solicita el texto completo de la noticia.
La combinación lista de tabla y texto de la noticia es NewsMessagePanel. Contiene NewsMessageGrid y NewsStoryPanel: al seleccionar una fila el panel solicita el texto al proveedor de suscripciones y lo muestra en la parte inferior.
A continuación se muestran fragmentos de código con su uso:
<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>
// Establecemos el proveedor de suscripciones: a través de él se solicita el texto
NewsPanel.SubscriptionProvider = _connector;
// Añadimos las noticias recibidas a la tabla en el hilo de la interfaz
_connector.NewsReceived += (subscription, news) =>
this.GuiAsync(() => NewsPanel.NewsGrid.Messages.Add(news.ToMessage()));
// Creamos la suscripción a noticias
_connector.Subscribe(new Subscription(DataType.News));