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;
}