2013-08-21 185 views
0

這是我第一次使用WPF,我在ToolBar上有一個帶有ToolBar的用戶控件和ToolBarPanels。我的問題是試圖對齊最後一個包含一些按鈕的ToolBarPanel。右對齊ToolBarPanel控件WPF

http://imgur.com/n5v4YCw

我已經走遍了interwebs,並試圖解決方案(包裝在一個網格,DockPanel中,StackPanel中),但都沒有奏效。

我的XAML是:

<ToolBar 
     HorizontalAlignment="Left" Width="{Binding ActualWidth, ElementName=userControl}" 
     VerticalAlignment="Top" 
     Name="ToolBarPanel1" 
     UseLayoutRounding="False" 
     ToolBarTray.IsLocked="True"> 

     <ToolBar.Background> 
      <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> 
       <GradientStop Color="#FF475B7E" Offset="1"/> 
       <GradientStop Color="#FFB9C3D5" Offset="0.427"/> 
      </LinearGradientBrush> 
     </ToolBar.Background> 

    ......... 

      <ToolBarPanel ToolBar.OverflowMode="AsNeeded" Orientation="Horizontal" HorizontalAlignment="Right" > 

      <Button 
       Name="btnPrint" 
       Margin="5" 
       HorizontalAlignment="Right" 
       VerticalAlignment="Center" 
       BorderThickness="1" 
       IsEnabled="{Binding Path=AllowEdit}" 
       BorderBrush="#FF586A8B" 
       DockPanel.Dock="Right" 
       Visibility="{Binding Path=ControlVisibility.Print, 
       Converter={StaticResource BooleanToVisibilityConverter}}"> 
       <Image Source="/component/Images/print-image.png"></Image> 
       <Button.ToolTip> 
        <ToolTip> 
         <TextBlock>Print Chart</TextBlock> 
        </ToolTip> 
       </Button.ToolTip> 
      </Button> 

      <Button 
       Name="btnCopy"      
       Margin="5" 
       HorizontalAlignment="Right" 
       VerticalAlignment="Center" 
       BorderThickness="1" 
       IsEnabled="{Binding Path=AllowEdit}" 
       BorderBrush="#FF586A8B" 
       Visibility="{Binding Path=ControlVisibility.Copy, 
       Converter={StaticResource BooleanToVisibilityConverter}}"> 
       <Image Source="/component/Images/copy-image.png"></Image> 
       <Button.ToolTip> 
        <ToolTip> 
         <TextBlock>Copy Chart to Clipboard</TextBlock> 
        </ToolTip> 
       </Button.ToolTip> 
      </Button> 

      <Button 
       Name="btnInfo" 
       Margin="5" 
       HorizontalAlignment="Right" 
       VerticalAlignment="Center" 
       BorderThickness="1" 
       IsEnabled="{Binding Path=AllowEdit}" 
       BorderBrush="#FF586A8B" 
       Visibility="{Binding Path=ControlVisibility.Info, 
       Converter={StaticResource BooleanToVisibilityConverter}}"> 
       <Image Source="/component/Images/help-image.png"></Image> 
       <Button.ToolTip> 
        <ToolTip> 
         <TextBlock>Chart Help</TextBlock> 
        </ToolTip> 
       </Button.ToolTip> 
      </Button> 

     </ToolBarPanel> 

    </ToolBar> 

回答

1

好拉伸格柵與設置爲 「*」 應該履行自己的目標最後columndefinition。您也可以嘗試使用DockPanel並像這樣對齊:

<DockPanel> 

    <ToolBarPanel DockPanel.Dock="Left"/> 
    <ToolBarPanel DockPanel.Dock="Left"/> 
    <ToolBarPanel DockPanel.Dock="Left"/> 
    <!-- Last One --> 
    <ToolBarPanel DockPanel.Dock="Right"/> 

</DockPanel> 
+0

我最終將3個按鈕放在主工具欄旁邊的新工具欄中。這些被添加到寬度=「*」和寬度=「自動」的網格中 – Mathemats