Partager via


Les columnDefinitions vides et RowDefinitions ne sont pas autorisées

À compter de .NET 10, les applications WPF ne parviennent pas à générer si <Grid.ColumnDefinitions> ou <Grid.RowDefinitions> sont déclarées, mais laissées vides en XAML. Cela entraîne une erreur MC3063, ce qui indique que la propriété n’a pas de valeur.

Version introduite

.NET 10

Comportement précédent

Auparavant, les applications WPF avec des balises vides <Grid.ColumnDefinitions> ou <Grid.RowDefinitions> se compilaient avec succès, même si les définitions de mise en page étaient incomplètes. La disposition par défaut est une seule ligne et une colonne, elle place tous les éléments enfants dans cette cellule unique, à moins d'une autre spécification.

Exemple compilé précédemment :

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

Nouveau comportement

À compter de .NET 10, le même code ne parvient pas à se compiler avec l’erreur suivante :

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

Cela se produit lorsque <Grid.ColumnDefinitions> ou <Grid.RowDefinitions> sont déclarés, mais ne contiennent aucun élément enfant <ColumnDefinition /> ou <RowDefinition />.

Type de changement cassant

Cette modification peut affecter la compatibilité de la source.

Raison de la modification

Cette modification est une conséquence directe de l’implémentation de la prise en charge de la syntaxe abrégée Grid XAML.

Vérifiez que tous les <Grid.ColumnDefinitions> et <Grid.RowDefinitions> contiennent au moins un élément valide ou un autre élément.

Exemple corrigé :

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

API affectées

Aucun.