URLからかなり大きな画像をロードするスキャッタービューコントロールがあります。画像のサイズが異なり、画像が大きすぎて1つの画像を取得できない場合があり、半分を個別の画像としてダウンロードする必要があります。私は2つの半分を結合して、全体として表示および動作するようにしようとしています。私は2日間殺し、それを近づけましたが、完璧ではありません。私が試したこと:両方の半分をStackPanelに追加すると、ScatterViewItemでラップされます。何らかの理由で、パネルが高さよりもはるかに広い場合、SVIはそのサイズを適切に調整しません。SVIにコンテンツに合わせて高さ/幅を調整させるためのMSDNで提案されているスタイルなど、いくつか試してみました。ほとんどの場合にうまく機能しますが、画像が長くて狭い場合、画像のチャンクが切り取られます*(以下を参照)。
両方の半分をキャンバスに追加します。操作で適切にサイズ変更されていないようです。
両方の半分をグリッドに追加します。半分を取得して1つの画像を形成することはできません。不思議なことに、長い画像を含め、グリッド全体がSVIによって適切に表示されます。ただし、2つの半分は、それぞれの上にある(水平方向の整列なし)か、実際に離れている(列の定義を実行し、列0と1に設定する)か、ほぼ完全ですが、間に小さなギャップがあります(1つを左アラインと他を右アライン)。
*これまでのところ、StackPanelが最も有望なようです。SVI MinWidthを手動で設定することで全体を表示できますが、操作のためのコントロールのヒット領域は画像自体よりも大きくなります。私は画像のSizeChangedイベントを試してみて、画像が実際に読み込まれるときにSVIを動的に調整して、レンダリングされた幅の合計と等しくなるようにしましたが、今では科学よりもシャーマニズムになり始めています。私はこのことにランダムなコードを投げかけているところです。結果が何らかの有用性や洞察に役立つことを願っています。問題の一部は、画像がコンテナに追加され、SVIにラップされ、sviがスキャッタビュー自体に追加された後、画像ソースビットマップが実際にダウンロードされるまでに5秒かかる可能性があることです。各画像の高さはNaNですが、ビットマップの準備ができて画像がレンダリングされる前の実際の高さは87であることがわかります。これがスタックパネルとSVIのサイズにどのように影響するか、私にはよくわかりません。
ですから、私がいじくり回して何かが出てくることを期待している間に、誰かが試してみる洞察や提案を持っているかもしれません。