XAML控件使用“可见性”类型而不是普通“bool”的实际原因是什么?

时间:2013-08-29 13:25:36

标签: c# wpf silverlight xaml

我们都知道XAML UIElements正在使用类型为可见性的属性

public enum Visibility { Visible, Collapsed }

我的问题是,此属性属于Visibility类型的实际历史(?)原因是什么,而不仅仅是具有 bool 类型的普通 IsVisible 属性?

这肯定会节省我们花在编写/使用BoolToVisibilityConverters上的大量时间。

2 个答案:

答案 0 :(得分:8)

  

而不仅仅是具有bool类型的普通IsVisible属性?

因为WPF中有多个值 ,而不仅仅是两个。有:

  • Visibile
  • 倒塌
  • 隐藏

Visibility Enumeration - MSDN

  

WPF的可见性状态为隐藏。 Silverlight不支持   隐藏的可见性状态。如果要从中迁移XAML UI定义   WPF XAML,您将不得不编辑任何尝试设置的案例   隐藏的可见性。

答案 1 :(得分:1)

因为在WPF中,它还有另一个值。 Hidden。这与Collapsed相同,但它在布局中为它保留了空间。