ここで最もよく説明されている次のレイアウトの問題があります(大まかなイラストの謝罪)
各コントロールが個別のユーザーコントロールとして実装されていると仮定します
右上(緑)のコントロールを展開すると、最初の(緑)コントロールの幅よりも広く、その真下に、最初の行の2つのコントロールに等しい幅(colspanなど)で展開された領域が表示されるような動作が必要です。 2)その下のすべてのコンテンツを押し下げている間
最初に2行のグリッドがあると仮定します..最初の行はいくつかのコントロールであり、2番目に拡張可能なコントロール-2番目の行は2のcolspanを満たすものを何でも持つことができます..その中に何かを含む別のレイアウトコンテナまたはユーザーコントロールである可能性があります。
緑の拡張可能なコントロールがユーザーコントロールである場合、私が説明しているこの動作を取得するには、何をする必要がありますか?
ユーザーコントロール内からユーザーコントロール内のレイアウトグリッドに展開されたコンテンツ(?)を表すコンテナーのGrid.RowおよびColspanアタッチされたプロパティを設定する必要があると思いますか?(ただし、ユーザーコントロール内のコントロールの添付プロパティを、ユーザーコントロール外のレイアウトコンテナーに設定するにはどうすればよいですか?特に、展開されたコンテンツ自体がユーザーコントロール内のグリッド内にある場合)。
そして、これができたとしても、コントロールがグリッドレイアウトコンテナにある場合にのみ機能するため、これは非常に脆弱です。
何か案は?グリッドを使用する必要はありませんが、それはそれを解決するための自然で明白な方法のようですか?