4

iPhone のアプリケーションと同様に、WPF で UIControls を配置したいと考えています。それらはグリッド上に配置する必要がありますが、マウス ボタン (または iPhone の場合は指) を離した後、ユーザーはそれらを別の場所にドラッグできる必要があります。選択した UIControl はグリッド内の次の位置にスナップ バックする必要があります。他の UIElements は自動的に再配置されます。

さらに、ユーザーは 2 つの要素を線などで接続する必要もあります。

私はWPFの経験がありません。最初の質問は、何か (System.Windows.Controls.Grid ?) に適したコンテナーがあるかどうか、またはこのためにキャンバスまたは他の何かを拡張する必要があるかどうかです。

WPF フレームワークのどの要素を使用でき、どの要素を自分で作成する必要があるかを知りたいです。

iPhone を持っていない人: http://www.youtube.com/watch?v=3omhu2AUWC8

アップデート

BangOTricks の例 (以下を参照) で AnimatedTilePanel を見てきました。これは、独自のパネルを作成する方法と、そこに配置する方法を説明しています。ただし、この例でドラッグ アンド ドロップを正しく実装する方法についてはまだアイデアが必要です..

4

3 に答える 3

2

残念ながら、WPF は探していることを自動的に実行しないため、多くのことを自分で作成する必要があります。

コントロールの配置には、UniformGrid または Grid を使用できます。あなたが示したiPhoneビデオによく似ていると仮定すると、4つの列と必要な数の行でUniformGridを使用できます。

アニメーションをドラッグする場合、レイアウトに関しては、ドラッグされているものの RenderTransform プロパティを操作することから始めることができますが、別の「セル」に移動するために必要なしきい値に達したら、チェックするハンドラーを設定する必要があります。 -- その時点で、ツリー内の項目の順序を変更する必要があります。

于 2009-02-25T01:43:17.367 に答える
1

Kevin の Bag-o-Tricks の AnimatedTilePanel をご覧ください。

http://j832.com/bagotricks/

必要なすべてを行うわけではありませんが、サイズや順序を変更するときに子をアニメーション化するパネルを作成する方法を示します。

于 2009-02-25T10:15:16.293 に答える
0

09 年のこの古い投稿への新しい入力。今年 (2012 年) の初めに、誰かがFluidWrapPanelを作成し、それをオープン ソース化しました。私はそれを試してみましたが、iPhoneのメニューと同じように魅力的に機能します.

他の UI Elements や UserControl にも適用できます。

于 2012-11-27T08:41:09.870 に答える