C# tabitem wpf的自动高度

C# tabitem wpf的自动高度,c#,wpf,tabcontrol,C#,Wpf,Tabcontrol,我想通过代码创建一个包含两个选项卡的选项卡控件。我使用了下面的代码: TabControl tb = new TabControl(); tb.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; tb.VerticalAlignment = System.Windows.VerticalAlignment.Stretch;

我想通过代码创建一个包含两个选项卡的选项卡控件。我使用了下面的代码:

                TabControl tb = new TabControl();
                tb.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
                tb.VerticalAlignment = System.Windows.VerticalAlignment.Stretch;
                tb.VerticalContentAlignment = System.Windows.VerticalAlignment.Stretch;
                tb.HorizontalContentAlignment =  System.Windows.HorizontalAlignment.Stretch;
                ressource_design.initialiserTabControl(tb);
                tb.Margin = new Thickness(10, 10, 10, 10);
                TabItem ti1 = new TabItem();
                ti1.Header = ServicesLangue.RM.GetString("CONTENU_ACCUEIL_LISTE_SAS");
                ti1.Content = _listeSAS;
                tb.Items.Add(ti1);

                TabItem ti2 = new TabItem();
                ti2.Header = ServicesLangue.RM.GetString("CONTENU_ACCUEIL_TBSM");
                ti2.Content = _tbsm;
                tb.Items.Add(ti2);

                this.DockPrincipal.Children.Add(tb);
但是我的tabitem的高度是children控件的高度。这快把我逼疯了

我已尝试在我的子控件中添加以下代码:

Width="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Grid}}, Path=ActualWidth}"
                Height="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type Grid}}, Path=ActualHeight}"
但这使得乐童控制太大了

注意:我的手风琴也有同样的问题


谢谢

如果您的DockPrincipal是一个Dockpanel并且正在填充整个表单,您可以设置LastChildFill=“True”

删除您在XAML或代码隐藏中设置的任何静态高度和宽度。
HorizontalContentAlignment和VerticalContentAlignment默认设置为Stretch。

您在代码隐藏中而不是在XAML中创建控件有什么原因吗?请提供完整的代码,即XAML和wellWorks,我还必须删除子用户控件中的高度和宽度属性。谢谢伟大的因此,请尝试使用网格容器来排列控件,并尽可能避免设置静态高度和宽度。