[英]Collapsed Grid in StackPanel change position of other controls in StackPanel
[英]Setting the position of controls inside a stackpanel
我有一個ListBox
具有多個ListBoxItem
,我使用了一個StackPanel
我里面ListBoxItem
有一個Image
和一個TextBlock
控制。 我正在基於TextBlock
的選擇以編程方式設置Image
的可見性。
我面臨一個問題,當圖像Collapsed
,TextBlock向左移動,這不是預期的。
<ListBoxItem Tag="ATCListBox">
<StackPanel x:Name="ATCPanel" Orientation="Horizontal">
<Image
x:Name="atcTick"
Visibility="Collapsed"
Height="45" Width="45"
Source="ms-appx:///Assets/greentick.png"
/>
<TextBlock
Text="ATC"
Foreground="#0078D7"
Margin="45,0,0,0"
FontSize="32"
FontFamily="{ThemeResource Bold}"
FontWeight="Normal"
SelectionHighlightColor="Blue"
/>
</StackPanel>
</ListBoxItem>
Visiblity="Collapsed"
表示<Image />
元素將不占用任何空間-等同於CSS的display: none;
-如果要保留空間,則應使用Visibility="Hidden"
,它等效於CSS的opacity: 0
或visiblity: hidden
。
這是人們所期望的行為。 如果要保留空間,應將“可見性”設置為“隱藏”。
可見:顯示元素。
隱藏:不顯示元素,但在布局中為元素保留空間。
折疊:不顯示元素,也不在布局中為其保留空間。
。
您用WPF標記了您的問題,但是在回復中您說您正在使用UWP。
在UWP中,刪除了WPF Visibility="Hidden"
選項,而可以使用Opacity="0"
隱藏元素,同時仍確保其空間被占用。
請參閱此處: Visibilty的解決方法。隱藏狀態-Windows Phone 8.1 App開發
<Image
x:Name="atcTick"
Opacity="0"
Height="45" Width="45"
Source="ms-appx:///Assets/greentick.png"
/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.