我正在尝试动态地移动wpf上的选项卡控件。选项卡控件连接到计时器,基本上如果按下按钮,尺寸缩小,使其外观和行为类似于可扩展面板。但是,当我'收缩'选项卡控件时,宽度会集中调整,而我希望控件保持在X轴的位置,我该怎么做(为什么他们不能做control.location(x, y)我不知道!)?
GeneralTransform myTrans = this.tabcontrol1.TransformToAncestor(this);
Point p1 = myTrans.Transform(new Point(0, 0));
我使用上面的两行来获取位置,这可以通过GeneralTransform或visualTreeHelper(返回一个向量)来完成,如何将它应用于tabcontrol以使其移动?
谢谢,R。
答案 0 :(得分:0)
您是否尝试过使用Canvas作为容器来保存TabControl? Canvas仅支持绝对定位,因此您可以使用Canvas.Top
和Canvas.Left
来定位它。如果需要拉伸控件以填充区域,则可以绑定到Canvas容器的ActualWidth / ActualHeight。
以下是XAML的示例。
<Canvas x:Name="tabCanvas" Grid.Row="1">
<TabControl x:Name="tabControl" Canvas.Left="0" Canvas.Top="0"
Width="{Binding ElementName=tabCanvas, Path=ActualWidth}"
Height="{Binding ElementName=tabCanvas, Path=ActualHeight}">
<TabItem Header="Item 1" />
<TabItem Header="Item 2" />
</TabControl>
</Canvas>