繁体   English   中英

WPF WrapPanel的奇怪内部缩进

[英]The strange internal indent of WPF WrapPanel

我有WPF WrapPanel和里面的工具栏。 WrapPanel为红色,工具栏为蓝色。

在此处输入图片说明

谁能解释我,顶部,左侧等的WrapPanel缩进来自何处,如何删除?

这是图像的示例代码:

<WrapPanel Orientation="Horizontal" Background="Red">
       <ToolBar x:Name="tFirst" Background="Blue" ToolBarTray.IsLocked="True">
         <Button ToolTip="New" Content="New" />
         <Button ToolTip="Save" Content="Save" />
         <Button ToolTip="Delete" Content="Delete" />
       </ToolBar>
</WrapPanel>

提前致谢。

更新:问题仅在于工具栏,我只是将WrapPanel更改为DockPanel,问题仍然存在。

这可能与ToolBar控件的默认内置控件模板有关。

显然,一种快速的解决方法是例如将Margin设置为-2。

ToolBar在内部非常复杂,它由GridBorderDockPanel等组成。您可以尝试使用VisualTreeHelper遍历它。 例如:

var dockPanel = VisualTreeHelper.GetChild(VisualTreeHelper.GetChild(VisualTreeHelper.GetChild(tFirst, 0), 1), 0);

检索DockPanel对象。 您可以尝试查找MarginPadding大于0的控件,如果成功,您甚至可以从代码中重置它(类似: (dockPanel as DockPanel).Margin = 0;

在XAML中,我会尝试覆盖ToolBar's控件模板(如http://msdn.microsoft.com/zh-cn/library/aa970772(v=vs.85).aspx中所示) -尽管此示例当然过于复杂出于您的目的,原理是相同的)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM