区别
Visibility.Hidden 虽隐藏了控件,但保留了它在布局中占用的空间;
Visibilty.Collapsed 既不呈现控件,也不保留空间。
事实上呢,Collapsed也有非常大的用处,hidden仅仅将元素设为不可视,但是元素在画面上依然将占有空间,而Collapsed的话,在不可视的基础上,还能将元素在画面上的占位符清除,元素彻底不影响画面.所以,某些时候可能用Collapsed更为合理.在做一个StackPanel的时候最明显,三个对象在StackPanel中的时候,中间的对象如果Hidden,还将占有Stack中的位置,而Collapsed的话,下面的对象就会挤上了(有点像DIV了…)
参考
WPF中Visibility属性值Hidden与Collapsed的比较