我注意到将TextBlocks放在另一个TextBlock中会自动给它们间隔一些空格。我想将此行为用于自定义ItemsControl。我希望这个ItemsControl中的内容能够自动在它们之间获得一定数量的像素,但只能在最后一个项目之间,而不是在最后一个项目之间或之后。
(编辑)
<TextBlock>
<TextBlock Text="A" />
<TextBlock Text="B" />
<TextBlock Text="C" />
</TextBlock>
给予:“A B C”而不是“ABC”
<ItemsControl>
<Button Content="A" />
<Button Content="B" />
<Button Content="C" />
</ItemsControl>
给出了三个紧密排列的按钮,但是我想要一个按钮B周围的边距,即每个按钮之间的间距,或者这个ItemsControl中的任何内容。我不想手动设置边距。
答案 0 :(得分:1)
我自己找到了解决方案。诀窍是找出itemscontrol中的项目是第一个还是最后一个,并根据此设置样式中的边距。 itemscontrol中有一个名为AlternationIndex的附加属性可用于此目的。如果将AlternationCount设置为9999,我们将AlternationIndex与accual指数(最多9999)相同,然后可以将第一个(AlternationIndex == 0)上的边距设置为其他值,然后是默认边距。问题解决了。