2010-04-29 67 views
0

我有一个ToolBar WPF控件,它有一个Stackpanel停靠在右侧。我在其他3个WPF控件中通过添加XAML来使用此工具栏控件。当我在XAML中验证时,所有3个控件的Stackpanel位置都是相同的。但是当我运行我的应用程序时,对于3个控件之一,ToolBar控件中的StackPanel会左移。StackPanel在运行时位置发生变化

<StackPanel DockPanel.Dock="Right" Orientation="Horizontal" HorizontalAlignment="Right" Name="stackButtons" > 

任何想法?感谢您的帮助..

+0

那你的StackPanels的内容是什么?特别是*“向左移动”*?周围的面板是什么? – gehho 2010-04-30 07:38:51

回答

1

我会尝试三次猜测。

1)你有一些显式的代码改变了DockPanel.Dock属性。 (非常不可能,我承认)

2)堆叠面板实际上并没有向左移动。封闭的DockPanel实际上正在向左移动,并且它仍然是最左端的面板中最右侧的控制器。

3)持有停靠面板的窗口有一些额外的默认样式(具有TargetType但没有按键的样式),并且这些样式以某种方式搞砸了。这不太可能,因为您将Horizo​​ntalAlignment设置为显式属性,而显式属性会覆盖样式属性。但风格可以不断惊喜。

无论如何,这些黑暗刺伤可能会让你知道在哪里看。

+0

我认为2)是最可能的原因。 @Vinjamuri:要查看2),可以将所有相关面板的Background属性设置为不同的值,例如一个设置为“Green”,另一个设置为“Red”,另一个设置为“Blue”。然后调试,你会看到他们占用了多少空间。 – gehho 2010-04-30 07:41:36

相关问题