.NET 10 以降、<Grid.ColumnDefinitions> または <Grid.RowDefinitions> が XAML で宣言されているが空のままの場合、WPF アプリケーションはビルドに失敗します。 これにより、プロパティに値がないことを示すエラー MC3063が発生します。
導入されたバージョン
.NET 10
以前の動作
以前は、レイアウト定義が不完全であったとしても、空の <Grid.ColumnDefinitions> または <Grid.RowDefinitions> を持つ WPF アプリケーションは正常にコンパイルされていました。 レイアウトは既定で 1 つの行と列に設定され、特に指定しない限り、すべての子要素がその 1 つのセルに配置されます。
以前にコンパイルされた例:
<Grid>
<Grid.ColumnDefinitions>
</Grid.ColumnDefinitions>
</Grid>
新しい動作
.NET 10 以降では、同じコードが次のエラーでコンパイルに失敗するようになりました。
error MC3063: Property 'ColumnDefinitions' does not have a value.
これは、 <Grid.ColumnDefinitions> または <Grid.RowDefinitions> 要素が宣言されていても、子 <ColumnDefinition /> または <RowDefinition /> 要素が含てられていない場合に発生します。
破壊的変更の種類
この変更は 、ソースの互換性に影響する可能性があります。
変更の理由
この変更は、Grid XAML 短縮構文のサポートを実装した場合の直接的な結果です。
推奨されるアクション
すべての <Grid.ColumnDefinitions> と <Grid.RowDefinitions> に少なくとも 1 つの有効な要素が含まれていることを確認します。
修正された例:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
</Grid.ColumnDefinitions>
</Grid>
影響を受ける API
なし。
.NET