Sdílet prostřednictvím


Prázdné definice columnDefinitions a RowDefinitions jsou zakázány

Počínaje verzí .NET 10 nelze sestavit aplikace WPF, pokud jsou deklarovány <Grid.ColumnDefinitions> nebo <Grid.RowDefinitions>, ale v XAML zůstanou prázdné. Výsledkem je chyba MC3063, která značí, že vlastnost nemá hodnotu.

Verze byla představena

.NET 10

Předchozí chování

Dříve byly aplikace WPF s prázdným <Grid.ColumnDefinitions> nebo <Grid.RowDefinitions> úspěšně zkompilovány, i když definice rozložení byly neúplné. Výchozí rozložení bylo nastaveno na jeden řádek a jeden sloupec, přičemž všechny podřízené prvky byly umístěny do této jediné buňky, pokud nebylo určeno jinak.

Příklad, který byl dříve kompilován:

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

Nové chování

Počínaje verzí .NET 10 se teď stejný kód nepodaří zkompilovat s následující chybou:

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

K tomu dochází, když jsou elementy <Grid.ColumnDefinitions> nebo <Grid.RowDefinitions> deklarovány, ale neobsahují žádné podřízené elementy <ColumnDefinition /> nebo <RowDefinition />.

Typ zásadní změny

Tato změna může mít vliv na kompatibilitu zdroje.

Důvod změny

Tato změna je přímým důsledkem implementace podpory zkrácené syntaxe Grid XAML.

Ujistěte se, že všechny <Grid.ColumnDefinitions> a <Grid.RowDefinitions> obsahují aspoň jeden platný nebo jiný prvek.

Opravený příklad:

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

Ovlivněná rozhraní API

Žádné.