Compartir a través de


No se permiten ColumnDefinitions y RowDefinitions vacíos

A partir de .NET 10, las aplicaciones WPF no se compilan si <Grid.ColumnDefinitions> o <Grid.RowDefinitions> se declaran pero se dejan vacías en XAML. Esto produce el error MC3063, que indica que la propiedad no tiene un valor.

Versión introducida

.NET 10

Comportamiento anterior

Anteriormente, las aplicaciones WPF con aplicaciones vacías <Grid.ColumnDefinitions> o <Grid.RowDefinitions> compiladas correctamente, aunque las definiciones de diseño estaban incompletas. El diseño tiene como valor predeterminado una sola fila y columna, colocando todos los elementos secundarios en esa sola celda a menos que se especifique lo contrario.

Ejemplo que se compiló anteriormente:

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

Nuevo comportamiento

A partir de .NET 10, el mismo código ahora no se puede compilar con el siguiente error:

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

Esto ocurre cuando <Grid.ColumnDefinitions> o <Grid.RowDefinitions> los elementos se declaran pero no <ColumnDefinition /> contienen elementos secundarios o <RowDefinition /> .

Tipo de cambio disruptivo

Este cambio puede afectar a la compatibilidad de origen.

Motivo del cambio

Este cambio es una consecuencia directa de la implementación de la compatibilidad con la sintaxis abreviada XAML de Grid.

Asegúrese de que todo <Grid.ColumnDefinitions> y <Grid.RowDefinitions> contenga al menos un elemento o válido.

Ejemplo corregido:

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

Las APIs afectadas

Ninguno.