0

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

0 に答える 0