任何人都可以解释使用之间的区别:
GridLength length = new GridLength(0, GridUnitType.Auto)
Run Code Online (Sandbox Code Playgroud)
和
GridLength length = new GridLength(1, GridUnitType.Auto)
Run Code Online (Sandbox Code Playgroud)
我对此的有限了解使我相信这些都是相同的解决方案,因为它表示自动存在......"自动",因此使双值冗余.
我见过的大多数例子都显示GridUnitType.Auto
前面有1而不是0,但在我看来,任何一个选项都是一样的吗?
是这种情况还是任何人都可以了解这些是否/如何不同
Chr*_*ris 17
我认为您的理解是正确的,当GridUnitType.Auto
使用该值时,传递给构造函数的第一个值是多余的,因为大小将由内容对象确定.
在GridLength
结构构造函数的上下文中保留此参数(即使它未在此实例中使用)有一定意义,因为它允许第二个参数类型包含描述所有可用状态的值GridUnitType
.
从文档:
枚举类型GridUnitType
可以包含以下值:
Auto - The size is determined by the size properties of the content object.
Pixel - The value is expressed as a pixel.
Star - The value is expressed as a weighted proportion of available space.
Run Code Online (Sandbox Code Playgroud)
实际上,第一个参数仅在第二个参数设置为GridUnitType.Pixel
或时才相关GridUnitType.Star
.
它不会以其他方式整齐地工作,例如,如果你试图让构造函数接受1参数作为a GridUnitType
,并且只需要第二个参数,如果你使用Pixel
或Star
.
这样,您可以获得一个1参数构造函数的好处,该构造函数接受double而不指定其他类型.虽然它在使用时确实具有潜在奇怪的两个参数构造函数的成本Auto
(如在您的示例中).
归档时间: |
|
查看次数: |
12089 次 |
最近记录: |