可以說,在我的所有視圖中,或者通常在我的應用程序中,我希望能夠顯示錯誤消息彈出窗口,並且它看起來總是相同的。我怎麼做?如何在Windows Phone 7上實現基本視圖功能?
首先想到的是讓我的所有視圖模型擴展一個基本視圖模型,這有助於這些事情,但在此之後,我有這個基礎視圖模型實際上是否創建UI小部件並顯示它們?
感謝, 馬克
可以說,在我的所有視圖中,或者通常在我的應用程序中,我希望能夠顯示錯誤消息彈出窗口,並且它看起來總是相同的。我怎麼做?如何在Windows Phone 7上實現基本視圖功能?
首先想到的是讓我的所有視圖模型擴展一個基本視圖模型,這有助於這些事情,但在此之後,我有這個基礎視圖模型實際上是否創建UI小部件並顯示它們?
感謝, 馬克
如果你已經得到了你想要在一系列的觀點提供了一些常用的功能,那麼你就可以實現從PhoneApplicationPage
繼承一個基類,然後推導出所有相反,你的班級。爲您的網頁的XAML則是這樣的:
<local:BasePage xmlns ...
xmlns:local="clr-namespace:MyNamespace"
x:Class="MyNamespace.MyPage">
但是,您將無法定義在XAML通用的UI組件的基本頁面。如果你想擁有通用的UI組件,你可以在代碼隱藏的基礎頁面中手動創建它們,也許在Loaded事件的處理程序中,但我認爲更好的解決方案是將你的通用UI UserControl
,然後將其添加到您的每個網頁中。
如果你想顯示吐司或消息框,那麼我會從Silverlight Toolkit如patterns & practices WP7 Developer Guide描述建議ToastRequestTrigger
和MessageBoxRequestTrigger
。
每當出現錯誤,你也許可以定義在基本視圖模型,該模型視圖模型內觸發的事件,然後在視圖中,您可以訂閱這個事件,並顯示彈出。您可以在觸發事件的EventArgs中攜帶錯誤上下文。
此外,你可以統一的邏輯顯示彈出,但是這可能是另一個故事:)
這是可測試,並從視圖中很好地分離。
希望這有助於 羅伯特