我有一個奇怪的問題。我有一個TabControl創建像這樣:WPF TabItem Grid內容消失半路向下
<TabControl HorizontalAlignment="Stretch" Name="tabControl" VerticalAlignment="Stretch" FontSize="10">
...
</TanControl>
,象這樣創建的幾個標籤:
<TabItem Header="XXXX" Name="tab1">
...
</TabItem>
每個選項卡我有一個網格內,繼工具箱拖放生成的代碼,我開始將數據添加到第一控制像這樣:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Content="XXXX:" Margin="1,6" Height="28" HorizontalAlignment="Right" Name="label001" VerticalAlignment="Top" FontSize="12" />
<Label Grid.Column="0" Content="XXXX:" Margin="1,34" Height="28" HorizontalAlignment="Right" Name="label002" VerticalAlignment="Top" FontSize="12" />
<Label Grid.Column="0" Content="XXXX:" Margin="1,62" Height="28" HorizontalAlignment="Right" Name="label003" VerticalAlignment="Top" FontSize="12" />
<Label Grid.Column="0" Content="XXXX:" Margin="1,90" Height="28" HorizontalAlignment="Right" Name="label004" VerticalAlignment="Top" FontSize="12" />
<Label Grid.Column="0" Content="XXXX:" Margin="1,130" Height="28" HorizontalAlignment="Right" Name="label005" VerticalAlignment="Top" FontSize="12" />
<Label Grid.Column="0" Content="XXXX:" Margin="1,158" Height="28" HorizontalAlignment="Right" Name="label006" VerticalAlignment="Top" FontSize="12" />
<Label Grid.Column="0" Content="XXXX:" Margin="1,186" Height="28" HorizontalAlignment="Right" Name="label007" VerticalAlignment="Top" FontSize="12" />
<Label Grid.Column="0" Content="XXXX:" Margin="1,226" Height="28" HorizontalAlignment="Right" Name="label008" VerticalAlignment="Top" FontSize="12" />
<Label Grid.Column="0" Content="XXXX:" Margin="1,254" Height="28" HorizontalAlignment="Right" Name="label009" VerticalAlignment="Top" FontSize="12" />
<Label Grid.Column="1" Content="XXXX" Margin="1,254" Height="28" HorizontalAlignment="Left" Name="lbl1" VerticalAlignment="Top" FontSize="12" />
<Label Grid.Column="0" Content="XXXX:" Margin="1,282" Height="28" HorizontalAlignment="Right" Name="label010" VerticalAlignment="Top" FontSize="12" />
<Label Grid.Column="1" Content="XXXX" Margin="1,282" Height="28" HorizontalAlignment="Left" Name="lbl2" VerticalAlignment="Top" FontSize="12" />
</Grid>
的問題是,一個標籤放置超過一半在網格越往下後,它就會消失。如果我調整窗口的大小,我可以看到更多的物品,因爲它們已經不在中途了,如果我把它變小,那麼因爲它們通過了中途點而更加消失。
我曾嘗試向網格中添加行,它們仍然消失!奇怪的部分是,如果我添加n行並在它們之間分開標籤,則每行的中間點都會切斷每行。
這個問題也顯示在設計視圖中,但只有一個垂直加限制像行高或窗口最大高度(因爲設計視圖伸展的容器,我將它們添加到適用於所有的內容)。
最後,列從未中途消失,不管他們多麼小弄。
好的,將左邊距和上邊距重新添加到標籤中可以解決問題。根據我所收集的信息,當您設置Margin =「i,j」時,i是HorizontalAlignment的邊距,j是VerticalAlignment的邊距。我的元素的立場反映了這一點。我會理解,如果我的立場是錯誤的,但由於他們是對的,我不明白什麼會使他們消失。我會接受你的回答,因爲它解決了我的問題,但我想知道更多。 – CuddleBunny
如果將標籤邊距設置爲1,282,與1,282,1,282相同且主窗口高度小於282 * 2,則標籤將不會顯示,因爲沒有足夠的空間。您可以將邊距設置爲1,282,1,0以顯示具有正確位置的標籤。我建議你設置標籤的背景來標識標籤的區域,比如'' –
好吧,更有意義,謝謝! – CuddleBunny