WPF:模拟文本块内容之间的自动间距

WPF:模拟文本块内容之间的自动间距,wpf,itemscontrol,textblock,stackpanel,Wpf,Itemscontrol,Textblock,Stackpanel,我注意到,将文本块放在另一个文本块中会自动给它们一些间距。我想将此行为用于自定义ItemsControl。我希望此ItemsControl中的内容在它们之间自动获得一定数量的像素,但仅在最后一项之间,而不是在最后一项之后或第一项之前 (编辑) 吉维斯:“ABC”而不是“ABC” 给出了三个紧凑的按钮,但我想在按钮B周围留一个空白,即每个按钮之间的间距,或者这个ItemsControl中的任何内容。我不想手动设置页边距。我自己找到了解决办法。诀窍是找出itemscontrol中的项目是第一

我注意到,将文本块放在另一个文本块中会自动给它们一些间距。我想将此行为用于自定义ItemsControl。我希望此ItemsControl中的内容在它们之间自动获得一定数量的像素,但仅在最后一项之间,而不是在最后一项之后或第一项之前

(编辑)


吉维斯:“ABC”而不是“ABC”



给出了三个紧凑的按钮,但我想在按钮B周围留一个空白,即每个按钮之间的间距,或者这个ItemsControl中的任何内容。我不想手动设置页边距。

我自己找到了解决办法。诀窍是找出itemscontrol中的项目是第一个还是最后一个,并根据此设置样式中的边距。itemscontrol中有一个名为AlternationIndex的attachedproperty可用于此操作。如果将AlternationCount设置为9999,则AlternationIndex与accual索引相同(最多9999个),然后可以将第一个索引的边距(AlternationIndex==0)设置为其他值,然后设置默认边距。问题已解决。

您的目标还不完全清楚。自定义项控件是什么意思?这与文本块有什么关系?是否要将文本块放入ItemsControl中?还是随便什么东西?
<TextBlock>
  <TextBlock Text="A" />
  <TextBlock Text="B" />
  <TextBlock Text="C" />
</TextBlock>
<ItemsControl>
  <Button Content="A" />
  <Button Content="B" />
  <Button Content="C" />
</ItemsControl>