Sự khác biệt giữa Visibility.Collapsed
và Visibility.Hidden
trong WPF là gì?
Sự khác biệt giữa Visibility.Collapsed
và Visibility.Hidden
trong WPF là gì?
Câu trả lời:
Sự khác biệt là Visibility.Hidden
che giấu sự kiểm soát, nhưng dành không gian mà nó chiếm giữ trong bố cục. Vì vậy, nó làm cho khoảng trắng thay vì điều khiển.
Visibilty.Collapsed
không đưa ra điều khiển và không dành khoảng trắng. Không gian mà điều khiển sẽ chiếm là 'sụp đổ', do đó có tên.
Văn bản chính xác từ MSDN:
Sụp đổ : Không hiển thị phần tử và không dành chỗ cho phần tử trong bố cục.
Ẩn : Không hiển thị phần tử, nhưng dành không gian cho phần tử trong bố cục.
Hiển thị : Hiển thị phần tử.
Xem: http://msdn.microsoft.com/en-us/l Library / system.windows.visibility.aspx
Tầm nhìn: Ẩn Vs Sụp đổ
Xem xét mã sau chỉ hiển thị three Labels
và có thứ hai Label
visibility
là Collapsed
:
<StackPanel Orientation="Horizontal" VerticalAlignment="Top" HorizontalAlignment="Center">
<StackPanel.Resources>
<Style TargetType="Label">
<Setter Property="Height" Value="30" />
<Setter Property="Margin" Value="0"/>
<Setter Property="BorderBrush" Value="Black"/>
<Setter Property="BorderThickness" Value="1" />
</Style>
</StackPanel.Resources>
<Label Width="50" Content="First"/>
<Label Width="50" Content="Second" Visibility="Collapsed"/>
<Label Width="50" Content="Third"/>
</StackPanel>
Đầu ra bị sập:
Bây giờ thay đổi thứ hai Label
visibility
thành Hiddden
.
<Label Width="50" Content="Second" Visibility="Hidden"/>
Đầu ra ẩn:
Đơn giản vậy thôi.
Mặc dù một chủ đề hơi cũ, cho những người vẫn đang tìm kiếm sự khác biệt:
Ngoài bố cục (không gian) được chụp trong Ẩn và không được chụp trong Thu gọn, còn có một sự khác biệt khác.
Nếu chúng tôi có các điều khiển tùy chỉnh bên trong điều khiển chính 'Thu gọn' này, lần tiếp theo chúng tôi đặt nó thành Hiển thị, nó sẽ "tải" tất cả các điều khiển tùy chỉnh. Nó sẽ không tải trước khi cửa sổ được bắt đầu.
Đối với 'Ẩn', nó sẽ tải tất cả các điều khiển tùy chỉnh + điều khiển chính mà chúng tôi đặt là ẩn khi "cửa sổ" được khởi động.