0

这是我第一次使用 WPF,我有一个带有工具栏的用户控件,以及该工具栏上的 ToolBarPanels。我的问题是试图右对齐最后一个包含一些按钮的 ToolBarPanel。

http://imgur.com/n5v4YCw

我已经搜索了互联网并尝试了解决方案(将其包装在网格、停靠面板、堆栈面板中),但都没有奏效。

我的 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>
4

1 回答 1

1

最后一列定义设置为“*”的良好拉伸网格应该可以实现您的目标。您也可以尝试使用 DockPanel 并像这样对齐:

<DockPanel>

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

</DockPanel>
于 2013-08-21T06:16:00.993 回答