Udostępnij przez


Puste definicje kolumn i definicje wierszy są niedozwolone

Począwszy od platformy .NET 10, nie można skompilować aplikacji WPF, jeśli <Grid.ColumnDefinitions> lub <Grid.RowDefinitions> są zadeklarowane, ale pozostawione puste w języku XAML. Powoduje to błąd MC3063, który wskazuje, że właściwość nie ma wartości.

Wersja wprowadzona

.NET 10

Poprzednie zachowanie

Wcześniej aplikacje WPF z pustymi <Grid.ColumnDefinitions> lub <Grid.RowDefinitions> były kompilowane pomyślnie, mimo że definicje układu były niekompletne. Układ jest domyślnie ustawiany na jeden wiersz i kolumnę, umieszczając wszystkie elementy podrzędne w tej pojedynczej komórce, chyba że określono inaczej.

Przykład, który został wcześniej skompilowany:

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

Nowe zachowanie

Począwszy od platformy .NET 10, teraz nie można skompilować tego samego kodu z następującym błędem:

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

Dzieje się tak, gdy <Grid.ColumnDefinitions> lub <Grid.RowDefinitions> elementy są deklarowane, ale nie zawierają elementów podrzędnych <ColumnDefinition /> ani <RowDefinition /> elementów.

Typ zmiany przełamującej

Ta zmiana może mieć wpływ na zgodność źródła.

Przyczyna zmiany

Ta zmiana jest bezpośrednią konsekwencją implementacji obsługi składni skróconej języka XAML dla siatki.

Upewnij się, że wszystkie elementy <Grid.ColumnDefinitions> i <Grid.RowDefinitions> zawierają co najmniej jeden prawidłowy element lub.

Poprawiony przykład:

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

Interfejsy API, których dotyczy problem

Żaden.