Notícias como mensagens


NewsMessageGrid - uma tabela de notícias que trabalha com mensagens NewsMessage em vez de entidades de negócio. Mostra a hora, a fonte, o identificador, o título e o link para o texto completo.
Propriedades principais
- NewsMessageGrid.Messages - lista de mensagens de notícias.
- NewsMessageGrid.SelectedMessage - mensagem selecionada.
- NewsMessageGrid.SelectedMessages - mensagens selecionadas.
- NewsMessageGrid.MaxCount - número máximo de linhas da tabela; ao ser excedido as linhas mais antigas são removidas.
- NewsMessageGrid.SubscriptionProvider - provedor de assinaturas ao qual a tabela solicita o texto completo da notícia.
A combinação pronta de tabela e texto da notícia é o NewsMessagePanel. Ele contém NewsMessageGrid e NewsStoryPanel: ao selecionar uma linha o painel solicita o texto ao provedor de assinaturas e o exibe na parte inferior.
Abaixo estão fragmentos de código com seu 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>
// Definimos o provedor de assinaturas - por ele é solicitado o texto da notícia
NewsPanel.SubscriptionProvider = _connector;
// Adicionamos as notícias recebidas à tabela na thread da interface
_connector.NewsReceived += (subscription, news) =>
this.GuiAsync(() => NewsPanel.NewsGrid.Messages.Add(news.ToMessage()));
// Criamos a assinatura de notícias
_connector.Subscribe(new Subscription(DataType.News));