Compartilhar via


ColumnDefinitions e RowDefinitions vazios não são permitidos

A partir do .NET 10, os aplicativos WPF não são compilados se <Grid.ColumnDefinitions> ou são declarados, <Grid.RowDefinitions> mas deixados vazios no XAML. Isso resulta em erro MC3063, o que indica que a propriedade não tem um valor.

Versão introduzida

.NET 10

Comportamento anterior

Anteriormente, os aplicativos WPF com vazio <Grid.ColumnDefinitions> ou <Grid.RowDefinitions> compilados com êxito, embora as definições de layout estivessem incompletas. O layout padrão para uma única linha e coluna, colocando todos os elementos filho nessa única célula, a menos que especificado de outra forma.

Exemplo que foi compilado anteriormente:

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

Novo comportamento

A partir do .NET 10, o mesmo código agora não é compilado com o seguinte erro:

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

Isso ocorre quando <Grid.ColumnDefinitions> ou <Grid.RowDefinitions> elementos são declarados, mas não contêm nenhum filho <ColumnDefinition /> ou <RowDefinition /> elementos.

Tipo de mudança disruptiva

Essa alteração pode afetar a compatibilidade do código-fonte.

Motivo da alteração

Essa alteração é uma consequência direta da implementação do suporte à sintaxe de taquigrafia XAML de Grade.

Verifique se tudo <Grid.ColumnDefinitions> isso contém <Grid.RowDefinitions> pelo menos um elemento ou válido.

Exemplo corrigido:

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

APIs afetadas

Nenhum.