2010-07-02 34 views
0

我想動態地在wpf上移動選項卡控件。選項卡控件掛鉤到一個計時器,基本上如果你按下一個按鈕的大小收縮,所以它看起來和行爲像一個可擴展的面板。然而,當我'縮小'選項卡控件的寬度是集中調整的,而我希望控件能夠保持它在X軸上的位置,我該怎麼做(爲什麼他們無法做到control.location(x, y)我不知道!)?如何在wpf表單上動態地移動選項卡控件

GeneralTransform myTrans = this.tabcontrol1.TransformToAncestor(this); 
Point p1 = myTrans.Transform(new Point(0, 0)); 

我使用上面兩行拿到的位置,這可以通過GeneralTransform或visualTreeHelper(返回載體)做到無論怎樣我將此到TabControl讓它動?

謝謝,R.

+0

好吧,典型的,仍然不知道如何動態地移動它,但我通過將horizo​​ntalalignment屬性設置爲正確來解決問題。認爲可能有這樣的事情。 – flavour404 2010-07-02 19:13:06

回答

0

您是否嘗試過使用Canvas作爲容器來容納TabControl?畫布僅支持絕對定位,因此您可以使用Canvas.TopCanvas.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> 
相關問題