所以我找到了这篇博文
我早上都在努力学习它。 它使用“股票报价”更新单个标签。
MessageBus.Register<QuoteMessage>(m => label1.Text = m.Symbol+":"+m.Quote.ToString("n2"));
我想用一个消息处理程序更新多个标签。具体来说,我可能想要根据QuoteMessage对象中的内容更改不同的标签。鉴于下面的代码,我只能使用每个标签的处理程序更新标签。
做
MessageBus.Register<QuoteMessage>(m => label1.Text = m.Symbol+":"+m.Quote.ToString("n2"));
MessageBus.Register<QuoteMessage>(m => label2.Text = m.Symbol + ":" + m.Quote.ToString("n2"));
MessageBus.Register<QuoteMessage>(m => label3.Text = m.Symbol + ":" + m.Quote.ToString("n2"));
MessageBus.Register<QuoteMessage>(m => label4.Text = m.Symbol + ":" + m.Quote.ToString("n2"));
只给我4个标签显示相同的东西。
答案 0 :(得分:1)
我认为你缺少的是处理程序在委托动作中可以有逻辑。我会做这样的事情:
MessageBus.Register<QuoteMessage>(m => {
if (m.Symbol == "MSFT") {
label1.Text = m.Symbol+":"+m.Quote.ToString("n2");
label2.Text = m.Symbol+":"+m.Quote.ToString("n2");
}
else if (something) {
// Do something else
label3.Text = m.Symbol+":"+m.Quote.ToString("n2");
}
});