到目前为止,我总是使用Winforms作为我项目的GUI。现在我想将一个旧项目最终迁移到WPF
。
这里我对ToolBar
项有一点问题
这就是迁移的GUI的第一部分目前的样子
我真正想要的是,第一个:?按钮严格对齐条形图的右侧 第二个:不应显示右侧的灰色按钮(?甚至不知道它的调用方式) 我怎样才能实现这两个目标?
在将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
至少不再显示右边的溢出部分,只是将图像按钮对齐到条形图的右侧。