在工具栏中对齐项目

时间:2015-01-28 08:55:00

标签: wpf vb.net toolbar

到目前为止,我总是使用Winforms作为我项目的GUI。现在我想将一个旧项目最终迁移到WPF

这里我对ToolBar项有一点问题 这就是迁移的GUI的第一部分目前的样子

Current look

我真正想要的是,第一个:?按钮严格对齐条形图的右侧 第二个:不应显示右侧的灰色按钮(?甚至不知道它的调用方式) 我怎样才能实现这两个目标?

在将Button与工具栏右侧对齐方面,我尝试使用垂直对齐和边距,但都没有成功。

以下是用户界面

的相应部分的代码
 <ToolBar Margin="0,0,0,0" >
            <MenuItem Header="Some text" HorizontalAlignment="Stretch" Width="524">

            </MenuItem>
            <Menu HorizontalAlignment="Right" Margin="0,0,5,0">
                <MenuItem Header="" Margin="0" Width="28" Height="25">
                    <MenuItem.Icon>
                        <Image Source="{DynamicResource ImageSource1}"/>
                    </MenuItem.Icon>

                    <MenuItem x:Name="miAbout" Header="About.."></MenuItem>
                    <MenuItem x:Name="miDocu" Header="Documentation"></MenuItem>
                    <MenuItem x:Name="miBugreport" Header="Bug report"></MenuItem>
                    <MenuItem x:Name="miFeatureRequest" Header="Feature request"></MenuItem>
                </MenuItem>
            </Menu>
        </ToolBar>

编辑:
感谢stsurs链接的答案和这个方法,请从中获取:

Private Sub ToolBar_Loaded(sender As Object, e As RoutedEventArgs) Handles ToolBar1.Loaded
    Dim toolbar As ToolBar = sender
    Dim overflowGrid = CType(toolbar.Template.FindName("OverflowGrid", toolbar), FrameworkElement)
    If Not (overflowGrid Is Nothing) Then
        overflowGrid.Visibility = Visibility.Collapsed
    End If

    Dim mainPanelBorder = CType(toolbar.Template.FindName("MainPanelBorder", toolbar), FrameworkElement)
    If Not (mainPanelBorder Is Nothing) Then
        toolbar.Margin = New Thickness(0)
    End If
End Sub

至少不再显示右边的溢出部分,只是将图像按钮对齐到条形图的右侧。

0 个答案:

没有答案