2010-04-29 5 views
0

오른쪽에 StackPanel이 고정되어있는 ToolBar WPF 컨트롤이 있습니다. XAML을 추가하여이 툴바 컨트롤을 다른 3 개의 WPF 컨트롤에서 사용합니다. XAML에서 확인할 때 Stackpanel 위치는 모든 3 개의 컨트롤에서 동일합니다. 그러나 3 개의 컨트롤 중 하나에 대해 응용 프로그램을 실행하면 ToolBar 컨트롤의 StackPanel이 왼쪽으로 이동합니다.런타임시 StackPanel 위치가 변경됨

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

어떤 아이디어가 있습니까? 당신의 도움을 이해하십시오 ..

+0

그럼 StackPanels의 내용은 무엇입니까? 특히 "왼쪽으로 시프트"하는 * *? 그리고 주변 패널은 무엇입니까/있습니까? – gehho

답변

1

나는 3 가지 추측을 시도 할 것입니다.

1) DockPanel.Dock 속성을 변경하는 명시 적 코드가 있습니다. (매우 드물다. 인정할 것이다.) 2) 스택 패널이 실제로 왼쪽으로 이동하는 것은 아니다.

2) 실제로 스택 패널이 왼쪽으로 이동하지는 않는다. 동봉 된 DockPanel은 실제로 왼쪽으로 이동하고 있으며 왼쪽의 대부분의 독 패널에서 여전히 가장 잘 제어됩니다.

3) 도킹 패널을 보유한 창에는 몇 가지 추가 기본 스타일 (TargetType은 있지만 키는없는 스타일)이 있으며, 이러한 스타일은 어떻게 든 고삐를 풀고 있습니다. HorizontalAlignment를 명시 적 속성으로 설정하고 명시 적 속성이 스타일 속성보다 우선하므로 이럴 가능성이 없습니다. 그러나 스타일은 지속적으로 놀랄 수 있습니다.

어쨌든 이러한 어두운 찌그러짐은 어디서 볼지 아이디어를 줄 수 있습니다.

+0

2)가 가장 가능성있는 이유라고 생각합니다. @Vinjamuri : 2)를 체크하기 위해, 모든 관련 패널의 Background 속성을 'Green'옆에 'Red'옆에, 다른 하나는 'Blue'로 설정하는 등 다른 값으로 설정할 수 있습니다. 그런 다음 디버그하면 얼마나 많은 공간을 차지하는 지 알 수 있습니다. – gehho

관련 문제