2

「データグリッド」にある種のタイムラインが必要で、キャラクターにはかなりの数の行があります。

https://www.dropbox.com/s/idz0zuk8u3jla11/img.PNG?m

テキストしかないため、データグリッドの左側は非常にうまく機能します。

右側は少し遅れています。

実際、タイムライン部分の最初のインデックスに DataGridTemplateColumn があります。

私の DataGridTemplateColumn は、私の UserControl を DataTemplate として使用します。ここで、行全体に線/長方形を描画しました。これは、オブジェクトの左マージンを例 500 に設定しているため、右側の他の列の上に表示されるため機能します...

ユーザーコントロールは、長方形を動的に配置した単純なグリッドです。

他の列も DataGridTemplateColumn ですが、空です。

今、私の考えは、大きなユーザーコントロールを配置できる列を1つだけ作成し、線のタイムラインを描画することです.

それを行うためのベストプラクティスは何ですか?

ありがとう

4

1 に答える 1

1

あなたがタイムラインを作りたいと思っているのを見ましたが、それは素晴らしいことです。おそらくグリッドはこれを行うのに最適なパネルではないと思います。この場合、独自のカスタムパネルを実装する必要があると思います。カスタムパネルを作成すると、アイテムの表示方法を設定したり、アニメーションやドラッグ動作を追加したりできるので便利です。あなたはこのページを見ることができます:

また、私が見つけたいくつかのパネルリンクを添付しました。見てください。役に立つものが見つかるかもしれません。

編集


もう1つ忘れてしまったのは、任意のItemsControlでプロパティItemsPanelを設定できることです。このようにして、任意のアイテムソースでパネルを使用でき、たとえばListBoxで使用できます。

于 2013-03-13T20:04:45.897 に答える