Share via


Lege ColumnDefinitions en RowDefinitions zijn niet toegestaan

Vanaf .NET 10 kunnen WPF-toepassingen niet worden gebouwd als <Grid.ColumnDefinitions> of <Grid.RowDefinitions> worden gedeclareerd maar leeg blijven in XAML. Dit resulteert in een fout MC3063, wat aangeeft dat de eigenschap geen waarde heeft.

Geïntroduceerde versie

.NET 10

Vorig gedrag

Voorheen werden WPF-toepassingen met een lege <Grid.ColumnDefinitions> of <Grid.RowDefinitions> succesvol gecompileerd, ook al waren de lay-outdefinities onvolledig. De indeling is standaard ingesteld op een enkele rij en kolom, waarbij alle kind-elementen in die enkele cel worden geplaatst, tenzij anders is opgegeven.

Voorbeeld dat eerder is gecompileerd:

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

Nieuw gedrag

Vanaf .NET 10 kan dezelfde code nu niet worden gecompileerd met de volgende fout:

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

Dit gebeurt wanneer <Grid.ColumnDefinitions> of <Grid.RowDefinitions> elementen worden gedeclareerd, maar geen onderliggende <ColumnDefinition /> elementen of <RowDefinition /> elementen bevatten.

Type van brekende verandering

Deze wijziging kan van invloed zijn op de broncompatibiliteit.

Reden voor wijziging

Deze wijziging is een direct gevolg van de ondersteuning voor Grid XAML verkorte syntaxis.

Zorg ervoor dat alle <Grid.ColumnDefinitions> en <Grid.RowDefinitions> ten minste één geldig element bevatten.

Voorbeeld gecorrigeerd:

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

Betreffende API's

Geen.