0

我想通过带有 2 个选项卡的代码创建一个选项卡控件。我使用了下面的代码:

                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 的高度是孩子们控制的高度。这真让我抓狂 !

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

Width="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Grid}}, Path=ActualWidth}"
                Height="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type Grid}}, Path=ActualHeight}"

但这让le child控制力太大了!

注意:我对 Accordion 也有同样的问题。

谢谢

4

2 回答 2

2

删除您在 XAML 或 Code behind 中设置的任何静态高度和宽度。Horizo​​ntalContentAlignment 和 VerticalContentAlignment 默认设置为 Stretch。

于 2013-07-11T03:07:35.037 回答
0

如果您的 DockPrincipal 是 Dockpanel 并且正在填写整个表单,则可以设置 LastChildFill="True"

于 2013-07-10T22:04:09.300 回答