我通過代碼添加全景圖項目時遇到問題。通過代碼將項目添加到全景圖
這裏是test xaml的工作原理。
<controls:Panorama x:Name="pano">
<controls:Panorama.Title>...</controls:Panorama.Title>
<controls:Panorama.Background>...</controls:Panorama.Background>
<local:TestPanoramaItem ...></local:HoroscopePanoramaItem>
<local:TestPanoramaItem ...></local:HoroscopePanoramaItem>
<local:TestPanoramaItem ...></local:HoroscopePanoramaItem>
</controls:Panorama>
TestPanoramaItem是繼承自PanoramaItem的類,在xaml中都可以正常工作。現在我想通過代碼重新排列全景物品。
編輯:我刪除從XAML項目從現在開始
我在靜態的字符串由默認的順序,如「PAN1,PAN2,PAN3,...」,並於OnNavigatedToHandler(中的MainPage)我用這樣的代碼這個:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
String[] order = App.Order.Split(',');
App.items.Clear();
foreach (String o in order)
{
switch (o)
{
case "pan1": App.items.Add(App.pan1); break;
case "pan2": App.items.Add(App.pan2); break;
case "pan3": App.items.Add(App.pan3); break;
...
}
}
pano.Items.Clear();
foreach (TestPanoramaItem ti in App.items)
pano.Items.Add(ti);
base.OnNavigatedTo(e);
}
第一次調用(這是在MainPage中)一切都看起來不錯。全景工程。在那裏,我有菜單按鈕,導航到設置,我可以改變項目的順序。在設置頁面的OnNavigateFrom處理程序中,我更新App.Order靜態字符串。之後,主頁面的OnNavigatedTo被再次調用並且一切都很好(沒有例外),但是我無法移動全景圖並且全景圖項目佈局被打破。
任何幫助或解決方案?
感謝您的答覆。在發佈時我將HoroscopePanoramaItem更改爲TestPanoramaItem,但我忽略了結束標記。我通過不繼承PanoramaItem並製作將保留原始PanoramaItem的自定義控件,解決了您的發佈和電子郵件通知之間的問題。所以當重新排序時,我只是把不同的內容放到現有的全景圖上。抱歉忘記刪除問題。 – zveljkovic 2010-12-21 04:24:08