我有一個基頁,BasePage,引發向用戶顯示消息的事件。在源自BasePage的所有頁面上都很好用。我想從用戶控件執行相同的操作,但它們不從BasePage繼承。如何從我的WPF應用程序的任何位置提起事件?
我想要的是一箇中心位置,我可以從任何地方撥打電話,並在該代碼中提出事件。哪裏是放這個代碼的好地方:
public void DisplayMessage(string message)
{
RaiseEvent(new MessageNotificationEventArgs(MessageNotificationEvent, message));
}
這樣我就可以從任何地方打電話給它? RaiseEvent在UIElement類中,所以它需要去一個屬於UIElement的地方。
除此之外,在一個非平凡的應用程序中,這僅僅是不夠的。並非所有的東西都在同一個可視化樹中,在這種情況下,命令將不起作用。它們只是該問題的部分解決方案,並不是用於應用程序中任意組件之間通信的充分機制。克里斯的答案是更好的方法。 – 2011-10-22 23:53:27