微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

silverlight – 为什么Blend添加[d:LayoutOverrides =“Height”]并且我应该关心吗?

很多时候,当从Expression Blend 3返回到Visual Studio时,我看到Blend已经为我的XAML添加一个“d:LayoutOverrides”属性。在ASP.NET设计师的成长过程中,我自然不信任任何我不会打字的东西,所以一看到它就立即删除它们。

我知道“d:”属性只是设计师而且不会影响运行时,但任何人都可以提供任何有关此属性功能的信息以及为什么Blend如此坚持以至于我将它们全部放在我的标记上?

<Border d:LayoutOverrides="Height" />

解决方法

就在那里,Blend知道如何在设计模式下显示你的XAML。具体来说,如果你有一个流畅的布局来伸展以填充它的容器,那么Blend就没有明确的方法来知道你的设计应该有多高; LayoutOverrides定义了这个。

当您(或运行Blend的其他人)手动调整设计图面中的元素大小时,将添加这些LayoutOverride设置条目。如果您在代码中看到它们(例如在Border元素中):

>您通常可以删除它们而不会产生任何明显的影响
>你可能会看看你是如何使用Blend的 – 具体来说,你应该将父cotainer的大小调整到一个好的大小(UserControl / LayoutRoot),然后根据流体布局设置子大小 – 例如填充和边距或*大小

请注意,Blend的可忽略属性在编译时被删除,并且不会影响应用程序的性能。因此,虽然您可能希望删除它们以提高代码可读性,但它们不会影响应用程序的运行方式。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐