2010-04-29 53 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

相關問題