バックグラウンド:
私はSilverlight/WindowsPhoneを初めて使用します。
Nokiaマップ(Windows Phone 8バージョン)のようなものを作成したいと思います。Nokiaマップでは、[検索]をクリックして検索結果を取得すると、ページが2つの部分に分割され、上の方がマップ、下の方が結果になり、指のジェスチャーを使用してマップと結果の間をスクロールできます。 。
私の最初の解決策は、2行のグリッドを作成し、(スプライン移動でDoubleAnimationを使用して)グリッド行の高さを動的に変更することでした。たとえば、地図が表示されている場合は下の行の高さが縮小され、下の行が表示されている場合は地図の高さが縮小されます。
しかし、私はすぐに、これがノキアの地図を実現する方法ではないかもしれないことに気づきました。たとえば、一番上の行に地図を作成し、一番上の行の高さを縮小しても、地図の位置はまだ中央付近にあります(移動しますが、行が縮小されるよりも速度が遅くなります)。マップ自体は、Nokiaマップのように「上向きにロールアップ」されていません。さらに、マップ上にポップアップがある場合(Nokiaマップの現在の場所ボタンなど)、ポップアップもロールアップされません。
まあ、理論的には、上記はマップを強制することで解決でき、グリッド行の高さの変更中にポップアップも上にロールアップします。しかし、いくつかの比較と観察の結果、ノキアの地図の上下の動きは、垂直方向のキャンバスが大きいパノラマのようであり、キャンバスの上部または下部を表示するだけでよいと思います。
これにより、垂直パノラマのようなものを実装する方法に興味があります。
私の質問、
- あなたの意見では、おそらくノキアの地図はどのように実装されていますか?他にもっと簡単な方法はありますか?
- 既存のパノラマコントロールを垂直パノラマにカスタマイズすることは可能ですか?
- 自分で実装する必要がある場合、どのように実装しますか?私の現在の考えは、大きな帆布を作り、すべてを自分で描くことですか?低レベルになりすぎませんか?垂直方向の動作でパノラマを再実装する良い方法はありますか?
どうもありがとうございます。