1行と2列があるとしましょう。どちらもビデオ ストリームを持っており、サイズが自動的に変更されて可能な限り表示されるため、どちらも画面の半分を占めます。
1 つのストリームを削除して、2 つ目のストリームを画面全体に表示できるようにしたいと考えています。したがって、基本的には、最初のセルを「押し戻す」ために何も占有していないため、2 番目のセルを押して画面全体を埋めます。
セルを削除することでこれを実行できることはわかっていますが、説明していることを達成するための設定があれば、何倍もクリーンでシンプルで簡単になります。
編集:
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
それぞれ 1 つだけから始めて、次のようにしてそこから動的に拡張します。
if (grd.ColumnDefinitions.Count == grd.RowDefinitions.Count)
{
System.Windows.Controls.ColumnDefinition newColumn;
newColumn = new System.Windows.Controls.ColumnDefinition();
grd.ColumnDefinitions.Add(newColumn);
Column = grd.ColumnDefinitions.Count - 1;
Row = 0;
}
else
{
System.Windows.Controls.RowDefinition newRow;
newRow = new System.Windows.Controls.RowDefinition();
grd.RowDefinitions.Add(newRow);
Row = grd.RowDefinitions.Count - 1;
Column = 0;
}