2010-11-11 58 views
0

我注意到將TextBlocks放在另一個TextBlock中會自動給它們一定的間距。我想爲自定義ItemsControl使用此行爲。我希望這個ItemsControl中的內容自動獲得它們之間的一定數量的像素,但只能在最後一個項目之前或之前。WPF:模仿內容之間的TextBlock自動間隔

(編輯)

<TextBlock> 
    <TextBlock Text="A" /> 
    <TextBlock Text="B" /> 
    <TextBlock Text="C" /> 
</TextBlock> 

givese: 「ABC」,而不是 「ABC」

<ItemsControl> 
    <Button Content="A" /> 
    <Button Content="B" /> 
    <Button Content="C" /> 
</ItemsControl> 

給出了三個緊湊的按鍵,但我希望每一個之間圍繞按鈕B保證金,即間距按鈕,或者這個ItemsControl裏面的東西。我不想手動設置邊距。

+0

這並不完全清楚你在追求什麼。你是什​​麼意思的自定義ItemsControl?這與TextBlocks有什麼關係?你打算把TextBlocks放在ItemsControl裏面嗎?或者只是任何對象? – 2010-11-11 08:59:47

回答

1

我自己找到了解決方案。訣竅是找出itemcontrol中的項目是第一個還是最後一個,並根據此設置樣式中的邊距。在項目控件中有一個名爲AlternationIndex的附加屬性,可用於此目的。如果將AlternationCount設置爲9999,則AlternationIndex與Accual索引(最高9999)相同,然後可以將第一個(AlternationIndex == 0)的邊距設置爲某個其他值,然後是默認邊距。問題解決了。