2014-01-24 37 views
0

我想了解HorizontalAlignmentHorizontalContentAlignment將如何處理父級控制。WPF:父級和子級控件中的Horizo​​ntalAlignment和Horizo​​ntalContentAlignment工作原理?

例如,下面是簡單的代碼:

<StatusBar VerticalAlignment="Bottom" Width="600" HorizontalContentAlignment="Right" HorizontalAlignment="Left"> 
    <Label Margin="5">StatusBar</Label> 
</StatusBar> 

我想,標籤將出現在狀態欄的右側,因爲在MCTS 70-511本書中,我發現,Horizo​​ntalContantAlignment 「獲取或設置控件內容的水平對齊。「是不是標籤是我的情況下的內容?如果不是,那麼是什麼?

我試圖將HorizontalAlignment="Right"添加到我的標籤,但它沒有任何更改。

此外,如果我的父母控制有HorizontalContentAligment="Left"並且它的內容將有HorizontalContentAligment="Right"會發生什麼?孩子的財產將「覆蓋」父母的財產嗎?

回答

0

HorizontalAlignment="Right" - 這將更改控件的對齊方式。 HorizontalContentAligment="Left" - 這將根據其父項更改內容的對齊方式。

在您的代碼中,StatusBar將根據其父項設置爲左對齊。

Label將基於StatusBar設置爲Right。

http://msdn.microsoft.com/en-us/library/vstudio/aa970569(v=vs.100).aspx

通過上述類似的參考,StatusBar wasnt使用HorizontalContentAligment物業在其控制模板,這樣就不會在你的代碼體現。

+0

此代碼示例中的標籤現在位於左側。不知何故,它沒有使用StatusBar中的Horizo​​ntalContentAligment =「Right」。如果我在標籤上書寫Horizo​​ntalAligment =「Right」,它也不會移動到Right。 – belurd

+0

查看更新後的答案.. – Sankarann

+0

這只是StatusBar風格的一個例子。爲什麼當我使用默認的StatusBar時,它會以完全相同的方式工作?此外,爲什麼應用於標籤的圖案不會改變外觀? – belurd

相關問題