【问题标题】:Right align ToolBarPanel control WPF右对齐 ToolBarPanel 控件 WPF
【发布时间】:2013-08-23 05:19:24
【问题描述】:

这是我第一次使用 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>

【问题讨论】:

    标签: wpf


    【解决方案1】:

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

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

    【讨论】:

    • 我最终将 3 个按钮放在主工具栏旁边的新工具栏中。这些被添加到 Width="*" 和 Width="Auto" 的网格中
    猜你喜欢
    • 2015-07-10
    • 2010-12-02
    • 1970-01-01
    • 2015-10-25
    • 2012-09-12
    • 2017-07-28
    • 1970-01-01
    • 1970-01-01
    • 2012-07-18
    相关资源
    最近更新 更多