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 に答える