パノラマアイテムをコードで追加するときに問題があります。コードを使用してパノラマにアイテムを追加する
ここで動作する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を継承するクラスであり、すべて正常に動作します。今私はパノラマのアイテムをコードで並べ替えたい。
EDIT:私は(メインページに)私は、コードを使用するような「PAN1、PAN2、pan3、...」のような静的な文字列にしてOnNavigatedToHandler上のデフォルトの順序を作っ
これからXAMLからアイテムを削除この:
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);
}
初めて(これはメインページにあります)すべてが正常です。パノラマが動作します。そこに私はアイテムの順序を変更することができます設定にナビゲートするメニューボタンがあります。設定ページのOnNavigateFromハンドラで、App.Order静的文字列を更新します。その後、メインページのOnNavigatedToが再び呼び出され、すべてが正常になります(例外はありません)が、パノラマ移動パノラマが表示され、レイアウトが壊れています。
ヘルプまたは解決策はありますか?
感謝。ここではHoroscopePanoramaItemをTestPanoramaItemに変更しましたが、終了タグを見落としました。投稿と電子メールの通知の問題を、PanoramaItemを継承せず、元のPanoramaItemが保持するカスタムコントロールを作成することで解決しました。並べ替えの際には、既存のパノラマに異なるコンテンツを追加するだけです。質問を削除することを忘れて申し訳ありません。 – zveljkovic