タイムラインの種類(アニメーション用)編集)。グリッドを使用してタイムラインコントロールを作成する可能性
PaintEventハンドラですべてのものを手動で描画することで、このような簡単なWinformsコントロールのプロトタイプを作成しましたが、これはうまく機能しましたが、おそらく最も効率的でした。
私はWPFを使って完全な機能を備えたコントロールを作成しており、グリッドコントロールをタイムラインとして使用する可能性について懸念しています。つまり、列で表される離散時間の位置(キーフレームが存在する場合は影付き)
私はこのコントロールに関する何かを知っていません。これはWPFで初めて使用されたので、誰かがこのアイデアにコメントできるかどうか疑問に思っていましたか?
具体的には、パフォーマンスの観点から、この方法で使用するように設計されたグリッドですか、または設計時にGUIを構成するためのものですか?多数の要素を使用して構成を動的に変更しようとすると、重大なパフォーマンス上のペナルティが発生しますか? (〜2000-3000はおそらく最悪の場合です)
グリッドを変更するのは簡単ですか?そして、たとえば細胞を陰影にするようなことをするには? Grid.NumberOfColumns = x
の単純な問題か、すべての要素が一意のオブジェクトである必要がありますか?
ありがとうございました!
返信いただきありがとうございます。私はWPFでもっと読んでいるうちに過ごしました、そして、私はもっとWinFormsとは何か違うのか理解していますが、もっと感銘を受けました。 私はvirtualizingStackPanelを使用して潜在的なキーフレームの「静的テーブル」を作成し、ユーザーはこれを 'ビューア'領域の下で拡大縮小して移動することができます。右。 このようなコントロールを使用するには、各キーフレームセクションまたは非キーフレームセクションを矩形オブジェクトで表す必要がありますか?充填するときにこれらを再利用できますか? – sebf
(最後の文章が明確でない(文字数制限)の場合は、「キーフレーム」を表すオブジェクトを1つ、「何も」を表すオブジェクトを1つ持ち、水平パネルに10の「長方形はありません」と記入します)その時点のキーフレームを示す「キーフレーム矩形」を1つ) ありがとう! – sebf
@sebfそれはうまくいくかもしれません...矩形は視覚的です;コンテナではなく、コンテナ内に再利用して格納することができます。キーフレームにコンテンツが含まれるようにするには、おそらくBorder/Gridでラップする必要があります。 ThinkGrid - > Rectangle/TextBlockここで、Rectangle/TextBlockはツリー内の同じレベルにあり、Rectangleはビジュアルを提供し、TextBlockはコンテンツを提供します。 –