2011-08-03 26 views
1

我想使用NavigationService在Windows Phone 7應用程序中創建一個不錯的導航堆棧。看來我可以通過使用NavigationService.Navigate(object)方法並傳遞類似於PhoneApplicationPage的對象來完成SilverLight中的目標。Windows Phone 7 - 缺少NavigationService.Navigate的重載(對象)

基於我所做的搜索,Windows Phone 7只允許在XAML中提供所需輸出時使用NavigationService。我想將NavigationService傳遞給我使用C#語法創建的對象,而不是XAML。

有沒有人有建議?

回答

2

在爲Windows Phone開發時,NavigationService.Navigate只有一個簽名,即NavigationService.Navigate(Uri)。您可能正在閱讀WPF的文檔。

+0

正確的說,Windows Phone 7 API明確將API定義爲僅接受URI。據推測,URI是用於XAML UI佈局的。我想用C#構建我的UI,而不是XAML。那可能嗎?如果我的用戶界面是動態的呢?那麼我是否需要爲每個屏幕創建XAML以適應所有可能的UI變化......這對於我的特殊問題似乎不可行。 – benhorgen

+0

XAML是一種標記語言,幾乎可以在XAML中做任何事情,您可以在代碼隱藏方面做到這一點。添加控件的例子可以在這裏看到:http://www.c-sharpcorner.com/UploadFile/kirtan007/3110/。根據你在做什麼,你可以使用鏈接中的方法從XAML頁面添加/刪除UI控件。另外,由於你的UI是用C#編寫的,你可以採取另一種方法。有一個僅包含「Border」佈局類型的「主機」XAML頁面。然後,根據要加載的對象,只需將「邊框」內容設置爲C#UserControl對象的內容即可。 – keyboardP