我有一个 tabitem 里面的网格。网格可以有 1 到 n 个元素,所有元素的类型都与图片中的相同。
现在,我已经玩了很长时间并寻找答案,但找不到答案。问题是,元素可能会超出网格(仅从顶部开始,直到停靠面板出现),从而导致一些烦人的事情,如图片中所示。我希望有人知道如何解决这个问题。
现在,我尝试了什么?
- 将矩形添加到顶部,ZIndex 高于元素。
- 当元素到达网格顶部时隐藏元素 -> 不平滑。
- 不是真的其他人,因为我没有想法。
编辑
整个 XML:
<Page x:Class="WpfBrowserMindmap.Page1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="473" d:DesignWidth="604"
Title="Page1">
<Grid Loaded="Grid_Loaded" SizeChanged="Grid_SizeChanged">
<Label Height="28" HorizontalAlignment="Left" Margin="440,12,0,0" Name="label1" VerticalAlignment="Top" Content="Label1" AllowDrop="False" />
<DockPanel Height="100" HorizontalAlignment="Left" Margin="12,100,0,0" Name="dockPanel1" VerticalAlignment="Top" Width="200">
<TabControl Height="100" Name="tabControl1" Width="200" VerticalAlignment="Top" HorizontalAlignment="Left" SelectionChanged="tabControl1_SelectionChanged">
</TabControl>
</DockPanel>
</Grid>
</Page>
AddTab 功能:
private TabItem AddTab()
{
TabItem item = new TabItem();
item.Header = "Empty work";
Grid grid = new Grid();
grid.Background = new SolidColorBrush(Colors.Transparent);
UserControl control = new UserControl();
control.Content = grid;
item.Content = control;
tabControl1.Items.Add(item);
return item;
}