我在通过代码添加全景项目时遇到问题。
这是有效的测试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 并且一切正常(没有例外),但我无法移动全景图并且全景图中的项目布局被破坏。
有什么帮助或解决方案吗?