我们都知道,XAML UI元素使用类型的属性命名能见度XAML控件使用'可见性'类型而不是普通的'bool'的真正原因是什么?
public enum Visibility { Visible, Collapsed }
我的问题是,什么是真实的历史(?)的原因此属性的类型的知名度,而不是只具有简单的IsVisible类型物业bool?
这肯定会节省大量的时间用于编写/使用BoolToVisibilityConverters。
我们都知道,XAML UI元素使用类型的属性命名能见度XAML控件使用'可见性'类型而不是普通的'bool'的真正原因是什么?
public enum Visibility { Visible, Collapsed }
我的问题是,什么是真实的历史(?)的原因此属性的类型的知名度,而不是只具有简单的IsVisible类型物业bool?
这肯定会节省大量的时间用于编写/使用BoolToVisibilityConverters。
而不是只是具有普通的类型bool的IsVisible属性?
因为在WPF中有多个值,而不仅仅是两个。主要有:
WPF具有隐藏的可见性状态。 Silverlight不支持 隐藏可见性状态。如果要从 WPF XAML迁移XAML UI定义,则必须编辑任何试图设置隐藏可见性的案例。
那么,这并不完全正确。在Silverlight中只有两个。 –
@ It'sNotALie在Silverlight中有两个,但是,Silverlight在其核心使用了表示框架,实质上只是一个轻量级的WPF。所以Silverlight不使用'bool'的原因是因为在Silverlight开发之前WPF已经在框架中嵌入了三个 – Shoe
哦,谢谢!我现在只开发Windows Phone和Windows 8应用程序一段时间,而且我还没有真正看到第三种WPF状态。 –
因为在WPF中,它也有另一个值。 Hidden
。这与Collapsed
相同,但它在布局中为它保留空间。
实际上,有[三种可见性]状态(http://msdn.microsoft.com/en-US/library/system.windows.visibility.aspx),并且两个'隐藏'状态都有他们的用途。 WinRT(AFAIR)和Silverlight只有两个,但仍然... –
@PatrykĆwiek在Silverlight上也是如此。 –
@ It'sNotALie。诚然,我已经改变了评论以反映这一点,谢谢指出。我的记忆现在很雾,但我认为WinRT也只有两个... –