2013-05-01 32 views
3

在我的WPF应用程序中,我创建了一个带有方向=水平的stackpanel的dockpanel。附加水平向右的一个stackPanel的最后一项

我添加一些按钮在我的StackPanel(如工具栏)

我想可以设置在我的StackPanel我的最后一个项目被贴在我窗口的右侧。

一些图片为了解释。

我有什么:

enter image description here

我会拥有:

enter image description here

这是我的XAML:

<DockPanel Height="40" VerticalAlignment="Top" > 
    <Border> 

     <StackPanel Orientation="Horizontal" Background="{StaticResource DegradeCouleurTheme}"> 

      <Image Source="ElipseGauche.png" Height="28" Margin="10,0,0,0" /> 

      <StackPanel Orientation="Horizontal" Height="28"> 

       <StackPanel.Background> 
        <ImageBrush ImageSource="ElipseMilieu.png"></ImageBrush> 
       </StackPanel.Background> 

       <Button Template="{StaticResource BoutonRessourcesTpl}" Click="Button_Click_Goto_Premier"> 
        <Image Source= "xRtDiva_XWPF_TBR_PREMIER.PNG_IMAGES.png" Height="16"/> 
       </Button> 

       <Button Template="{StaticResource BoutonRessourcesTpl}" Click="Button_Click_Goto_Precedent"> 
        <Image Source= "xRtDiva_XWPF_TBR_PRECED.PNG_IMAGES.png" Height="16"/> 
       </Button> 

       <Button Template="{StaticResource BoutonRessourcesTpl}" Click="Button_Click_Goto_Suivant"> 
        <Image Source= "xRtDiva_XWPF_TBR_SUIVANT.PNG_IMAGES.png" Height="16"/> 
       </Button> 

       <Button Template="{StaticResource BoutonRessourcesTpl}" Click="Button_Click_Goto_Dernier"> 
        <Image Source= "xRtDiva_XWPF_TBR_DERNIER.PNG_IMAGES.png" Height="16"/> 
       </Button> 

      </StackPanel> 

      <Image Source="ElipseDroite.png" Height="28" Margin="0,0,0,0" /> 


      <Image Source="ElipseGauche.png" Height="28" Margin="15,0,0,0" /> 

      <StackPanel Orientation="Horizontal" Height="28"> 

       <StackPanel.Background> 
        <ImageBrush ImageSource="ElipseMilieu.png"></ImageBrush> 
       </StackPanel.Background> 

       <Button Template="{StaticResource BoutonRessourcesTpl}" Click="Button_Click_Creer" > 
        <Image Source= "Toolbar_Creer.png" Height="16" /> 
       </Button> 

      </StackPanel> 

      <Image Source="ElipseDroite.png" Height="28" Margin="0,0,0,0" /> 

      <Image Source="ElipseGauche.png" Height="28" Margin="15,0,0,0" /> 


      <StackPanel Orientation="Horizontal" Height="28"> 

       <StackPanel.Background> 
        <ImageBrush ImageSource="ElipseMilieu.png"></ImageBrush> 
       </StackPanel.Background> 

       <Button Template="{StaticResource BoutonRessourcesTpl}" Click="Button_Click_Evenement_Supprimer"> 
        <Image Source= "Toolbar_Supprimer.png" Height="16"/> 
       </Button> 

      </StackPanel> 

      <Image Source="ElipseDroite.png" Height="28" Margin="0,0,0,0" /> 

      <Image Source="ElipseGauche.png" Height="28" Margin="15,0,0,0" /> 


      <StackPanel Orientation="Horizontal" Height="28"> 

       <StackPanel.Background> 
        <ImageBrush ImageSource="ElipseMilieu.png"></ImageBrush> 
       </StackPanel.Background> 

       <Button Template="{StaticResource BoutonRessourcesTpl}" Click="Button_Click_Evenement_Joints"> 
        <Image Source= "Toolbar_FicJoints.png" Height="18"/> 
       </Button> 

      </StackPanel> 

      <Image Source="ElipseDroite.png" Height="28" Margin="0,0,0,0" /> 

      <Image Source="ElipseGauche.png" Height="28" Margin="15,0,0,0" /> 


      <StackPanel Orientation="Horizontal" Height="28"> 

       <StackPanel.Background> 
        <ImageBrush ImageSource="ElipseMilieu.png"></ImageBrush> 
       </StackPanel.Background> 

       <Button Template="{StaticResource BoutonRessourcesTpl}" Click="Button_Click_Evenement_Annuler" > 
        <Image Source= "Toolbar_Annuler.png" Height="16"/> 
       </Button> 

       <Button Template="{StaticResource BoutonRessourcesTpl}" Click="Button_Click_Evenement_Valider"> 
        <Image Source= "Toolbar_Valider.png" Height="16"/> 
       </Button> 

      </StackPanel> 

      <Image Source="ElipseDroite.png" Height="28" Margin="0,0,0,0" /> 



      <Image Source="ElipseGauche.png" Height="28" Margin="15,0,0,0" /> 


      <StackPanel Orientation="Horizontal" Height="28"> 

       <StackPanel.Background> 
        <ImageBrush ImageSource="ElipseMilieu.png"></ImageBrush> 
       </StackPanel.Background> 

       <Button Template="{StaticResource BoutonRessourcesTpl}" Click="Button_Click_App_Parametrer" > 
        <Image Source= "Toolbar_Parametrer.png" Height="16"/> 
       </Button> 

      </StackPanel> 

      <Image Source="ElipseDroite.png" Height="28" Margin="0,0,0,0" /> 

      <Grid HorizontalAlignment="Right"> 
       <StackPanel Orientation="Horizontal" Height="28" > 
        <Image Source="ElipseGauche.png" Height="28" Margin="15,0,0,0" /> 


        <StackPanel Orientation="Horizontal" Height="28"> 

         <StackPanel.Background> 
          <ImageBrush ImageSource="ElipseMilieu.png"></ImageBrush> 
         </StackPanel.Background> 

         <Button Template="{StaticResource BoutonRessourcesTpl}" Click="Button_Click_About" > 
          <Label Margin="0,0,0,1" Foreground="White" Content="About" Height="16" VerticalAlignment="Center" HorizontalAlignment="Center" Padding="0,0,0,0"/> 
         </Button> 

        </StackPanel> 

        <Image Source="ElipseDroite.png" Height="28" Margin="0,0,0,0" /> 
       </StackPanel> 
      </Grid> 


     </StackPanel> 

    </Border> 
</DockPanel> 

我试图在我的堆叠面板的最后一项上使用horizo​​ntalaligneemnt = right的网格,但它没有任何效果(它是逻辑!)

任何人都可以帮助我吗?

非常感谢:)

回答

2

你不能用stackpanel来做到这一点。您将需要使用网格。

+0

好了,你知道这是否有可能修改我的XAML whitout大的修改? – 2013-05-01 13:47:36

+0

它不应该是一个巨大的改变....只是修改你最外层的堆栈面板到一个Grid(甚至是DockPanel)。添加一些网格列和行,你就全部设置好了。有关这方面的文件很多。 – Jeff 2013-05-01 13:53:18

+1

用width =“*”制作网格中的最后一列,并将xaml中的最终网格设置在该行中。这样,子网格中的所有东西都会一路向右 – Jeff 2013-05-01 13:55:22

-1

您可以通过使用在StackPanel中做到这一点 方向=“横向”

相关问题