DefaultValueAttribute verwijderd uit sommige eigenschappen
DefaultValueAttribute is verwijderd uit besturingselementeigenschappen die afhankelijk zijn van de standaardtekenhoogte.
Versie geïntroduceerd
.NET 8
Vorig gedrag
De betrokken eigenschappen zijn versierd met DefaultValueAttributeen standaardwaarden zijn vastgelegd volgens een aangenomen lettertype voor de hele toepassing.
Nieuw gedrag
Vanaf .NET 8 wordt het kenmerk verwijderd uit bepaalde eigenschappen. Standaardwaarden voor ontwerptijd worden berekend bij het opstarten op basis van de huidige metrische lettertypegegevens.
Wijzigingscategorie
Deze wijziging is een gedragswijziging.
Reden voor wijziging
Het DefaultValueAttribute kenmerk is ontworpen om constante standaardwaarden te definiëren die worden gebruikt door de Ontwerpfunctie voor Windows Forms. In het verleden is dit kenmerk gebruikt om standaardwaarden op te geven voor bepaalde eigenschappen die afhankelijk zijn van de huidige tekenhoogte. Er is een nieuw standaardlettertype geïntroduceerd in .NET Core 3.1, maar de kenmerkwaarden zijn niet dienovereenkomstig bijgewerkt. Bovendien is er nu een API om het lettertype van de toepassing te wijzigen. Het is dus logisch om dynamische standaardwaarden te gebruiken in plaats van constante waarden.
De ontwerpfunctie biedt methoden voor het opgeven van dynamische standaardwaarden, maar voor eigenschappen die zijn ingericht DefaultValueAttribute, wordt altijd de constante standaardwaarde gebruikt. De methoden voor het opgeven van dynamische standaardwaarden behouden de ontwerptijdfunctionaliteit van het kenmerk.
Aanbevolen actie
DefaultValueAttribute is bedoeld voor intern gebruik in ontwerpscenario's. Gebruik deze niet in andere scenario's.
Betrokken API's
De volgende tabel bevat de betreffende eigenschappen.
Eigenschappen | Versie wijzigen |
---|---|
System.Windows.Forms.DataGridViewRow.Height | Preview 2 |
System.Windows.Forms.ListBox.ItemHeight | Preview 2 |