가시성 간의 차이입니다.축소 및 가시성.히든
사이의 차이점은 무엇입니까?Visibility.Collapsed그리고.Visibility.HiddenWPF에서?
다른 점은Visibility.Hidden컨트롤을 숨기지만 레이아웃에서 차지하는 공간을 예약합니다.컨트롤 대신 공백을 렌더링합니다. Visibilty.Collapsed컨트롤을 렌더링하지 않으며 공백을 예약하지 않습니다.컨트롤이 사용하는 공간은 '접혀진' 공간이므로 이름을 사용합니다.
MSDN의 정확한 텍스트:
접힘:요소를 표시하지 않고 레이아웃에 공간을 예약하지 마십시오.
숨김: 요소를 표시하지 않고 레이아웃에서 요소에 대한 공간을 예약합니다.
표시됨:요소를 표시합니다.
참조: http://msdn.microsoft.com/en-us/library/system.windows.visibility.aspx
가시성: 숨겨진 버전과 축소된 버전
두 번째 코드만 표시되고 두 번째 코드가 있는 다음 코드를 고려합니다.Label visibility~하듯이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>
축소된 출력:
이제 두 번째를 변경합니다.Label visibility로.Hiddden.
<Label Width="50" Content="Second" Visibility="Hidden"/>
숨겨진 출력:
그것처럼 간단해.
조금 오래된 스레드이지만 여전히 차이점을 찾고 있는 사람들을 위해:
숨겨진 레이아웃(공백)과 축소된 레이아웃(공백)을 제외하고는 다른 차이점이 있습니다.
이 '붕괴된' 메인 컨트롤 안에 사용자 지정 컨트롤이 있는 경우 다음 번에 이 컨트롤을 표시로 설정하면 모든 사용자 지정 컨트롤이 "로드"됩니다.창이 시작될 때 사전 로드되지 않습니다.
'숨김'의 경우, "창"이 시작될 때 숨겨진 것으로 설정한 모든 사용자 정의 컨트롤 + 메인 컨트롤이 로드됩니다.
한 문장으로:숨겨진 컨트롤은 여전히 공간을 차지하지만 축소된 컨트롤은 차지하지 않습니다.
언급URL : https://stackoverflow.com/questions/886742/difference-between-visibility-collapsed-and-visibility-hidden
'codememo' 카테고리의 다른 글
| Swift: iOS 화면 크기 결정 (0) | 2023.05.28 |
|---|---|
| 이벤트 이미터 메모리 누출이 감지됨 (0) | 2023.05.28 |
| 줄 끝 변환이 깃 코어에서 작동하는 방식입니다.서로 다른 운영 체제 간의 자동 제어 (0) | 2023.05.28 |
| 내용을 기준으로 문자열 목록 필터링 (0) | 2023.05.28 |
| IF EXISTS 하위 쿼리와 함께 SQL Select 문을 사용하는 방법은 무엇입니까? (0) | 2023.05.28 |

