3

レストランのテレビ画面に表示されるフード メニューを作成しています。メニュー項目の相互作用はないので、一度にすべての項目が画面に収まらない場合は、項目を自動的に表示して回転させる必要があります。

私は、プロジェクトのすべてのコンポーネントを構築しました。メニュー項目が何であるか、およびそれらを表示する曜日の管理も含まれています。ここで、テレビ画面の項目の表示を終了する必要があります。

私はWPFが初めてなので、これを行うための最良の方法を見つけようとしています:

  1. メニューには、カロリー、タンパク質、脂肪、コレステロールとともに、アイテムの名前が記載されています。このため、グリッドに表示する必要があります。
  2. ユーザーがメニューを操作することはないので、アイテムのリストを「ページ」に適切に分割し、数秒間表示した後に画面の内外でアニメーション化できるようにする必要があります。私が考えていた方法は、ビューに各アイテムを追加し、その下にどれだけのスペースがあるかを評価することでした。スペースが特定の高さよりも小さい場合、残りのメニュー項目は次の「ページ」に表示するためにキューに入れられます。各項目が左からすばやくスライドインし、すべての項目が 1 ~ 2 秒以内に画面に表示されると便利です。
  3. それらを表示するのに最適なコントロールは何ですか? おそらくItemsControl?

正しい方向に私を向けることができるあなたの素晴らしいアイデアは大歓迎です!

更新:これは私が話していることの非常に大まかなモックアップです:ここに画像の説明を入力

4

2 に答える 2

0

おそらく、Grid または StackPanel を使用して、要素のマージン値をアニメーション化することができます (項目をスライドさせるには、負のマージンを使用します)。親要素の ClipToBounds が false に設定されていることを確認して、アイテムをその境界の外に描画できるようにする必要があります。

要素の高さを測定するには、行要素で Measure メソッドを使用して、垂直方向に必要なスペースを計算します。それに基づいて、1 ページに収まる要素の数を決定できます。

于 2013-08-08T19:10:44.230 に答える