Atribut DefaultValue odebrán z některých vlastností

DefaultValueAttribute byl odebrán z vlastností ovládacího prvku, které jsou závislé na výchozí výšce písma.

Verze byla představena

.NET 8

Předchozí chování

Ovlivněné vlastnosti byly zdobeny DefaultValueAttributea výchozí hodnoty byly pevně zakódovány podle předpokládaného písma pro celou aplikaci.

Nové chování

Počínaje rozhraním .NET 8 se atribut odebere z určitých vlastností. Výchozí hodnoty v době návrhu se počítají při spuštění na základě aktuálních metrik písem.

Změnit kategorii

Tato změna je změnou chování.

Důvod změny

Atribut DefaultValueAttribute je navržen tak, aby definoval konstantní výchozí hodnoty používané návrhářem Modelu Windows Forms. V minulosti byl tento atribut použit k určení výchozích hodnot u určitých vlastností, které závisí na aktuální výšce písma. V .NET Core 3.1 se zavedlo nové výchozí písmo, ale hodnoty atributů se odpovídajícím způsobem neaktualizovaly. Kromě toho teď existuje rozhraní API pro úpravu písma aplikace. Proto je vhodné místo konstantních hodnot používat dynamické výchozí hodnoty.

Návrhář poskytuje metody pro určení dynamických výchozích hodnot, ale pro vlastnosti zdobené DefaultValueAttribute, vždy používá konstantní výchozí hodnotu místo. Metody pro určení dynamických výchozích hodnot zachovávají funkčnost při návrhu, kterou poskytuje atribut.

DefaultValueAttribute je určen pro interní použití ve scénářích návrhu. Neměli byste ho používat v jiných scénářích.

Ovlivněná rozhraní API

Následující tabulka uvádí ovlivněné vlastnosti.

Vlastnictví Změna verze
System.Windows.Forms.DataGridViewRow.Height Preview 2
System.Windows.Forms.ListBox.ItemHeight Preview 2