Tomma ColumnDefinitions och RowDefinitions tillåts inte

Från och med .NET 10 kan WPF-program inte skapas om <Grid.ColumnDefinitions> eller <Grid.RowDefinitions> deklareras men lämnas tomma i XAML. Detta resulterar i fel MC3063, vilket indikerar att egenskapen inte har något värde.

Version lanserad

.NET 10

Tidigare beteende

Tidigare var WPF-program med tomma <Grid.ColumnDefinitions> eller <Grid.RowDefinitions> kompilerade, även om layoutdefinitionerna var ofullständiga. Layouten är som standard en enskild rad och kolumn och placerar alla underordnade element i den enskilda cellen om inget annat anges.

Exempel som kompilerades tidigare:

<Grid>
  <Grid.ColumnDefinitions>
  </Grid.ColumnDefinitions>
</Grid>

Nytt beteende

Från och med .NET 10 kan samma kod nu inte kompileras med följande fel:

error MC3063: Property 'ColumnDefinitions' does not have a value.

Detta inträffar när <Grid.ColumnDefinitions> eller <Grid.RowDefinitions> element deklareras men inte innehåller några underordnade <ColumnDefinition /> eller <RowDefinition /> element.

Typ av brytande ändring

Den här ändringen kan påverka källkompatibiliteten.

Orsak till ändring

Den här ändringen är en direkt följd av implementeringen av stöd för Grid XAML-kortsyntax.

Kontrollera att alla <Grid.ColumnDefinitions> och <Grid.RowDefinitions> innehåller minst ett giltigt eller element.

Korrigerat exempel:

<Grid>
  <Grid.ColumnDefinitions>
    <ColumnDefinition />
  </Grid.ColumnDefinitions>
</Grid>

Berörda API:er

Ingen.