iPhone上のアプリケーションと同じ方法で、WPFのGUI要素を配置します。

drag-and-drop iphone wpf

iPhone上のアプリケーションと同じように、WPFでUIControlを配置したいと思います。 それらはグリッド上に配置する必要がありますが、ユーザーはマウスボタン(またはiPhoneの場合は指)を放した後に別の場所にドラッグできるはずです。選択されたUIControlはグリッド内の次の位置に戻ります。 他のUIElementは自動的に並べ替える必要があります。

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

私はWPFの経験がありません。 最初の質問は、何かに適したコンテナ(System.Windows.Controls.Grid?)があるのか​​、それともキャンバスを拡張しなければならないのか、またはその他の方法で拡張する必要があるのか​​ということです。

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

iPhoneを所有していない人のために:http://www.youtube.com/watch?v=3omhu2AUWC8

更新

私はBangOTricksの例でAnimatedTilePanelを見ました(下記参照)。これはあなた自身のPanelを作成する方法とそこに物事を配置させる方法を説明します.. ただし、この例ではドラッグアンドドロップを正しく実装する方法がまだ必要です。

  4  3


ベストアンサー

WPFは自動的にあなたが探していることをしないので、残念ながら、あなたは自分でたくさんのことを書く必要があります。

コントロールの配置には、UniformGridまたはGridを使用できます。 それがあなたが示したiPhoneビデオに非常に似ていると仮定すると、あなたはちょうど4つのカラムとあなたが必要とする多くの行でUniformGridを使うことができます。

レイアウト上のドラッグアニメーションでは、ドラッグしているものすべてに対してRenderTransformプロパティを操作することから始めることができますが、別の「セル」に移動するために必要なしきい値を満たしたら、チェックするハンドラを設定する必要があります – そしてその時点で、あなたはツリーの中のアイテムの順番を変えなければならないでしょう。

2


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

それはあなたが望むすべてをするわけではありませんが、サイズや順番を変えるときに子をアニメーション化するパネルを書く方法をあなたに示すでしょう。

1


あなたはレイアウトのアイデアのためにこの記事をチェックすることができます。 http://www.code-magazine.com/Article.aspx?quickid=0803061

この記事/ライブラリはドラッグであなたを助けるかもしれません

0


09年のこの古い記事への新しいインプット。 今年の初め(2012年)、誰かが FluidWrapPanelを書き、それを公開しました。 私はそれを試してみました、そしてそれは魅力のように働きます – ちょうどiPhoneメニューのそれのように。

他のUI要素またはUserControlにも適用できます。

0


タイトルとURLをコピーしました