代码之家  ›  专栏  ›  技术社区  ›  Andreas Zita

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

  •  0
  • Andreas Zita  · 技术社区  · 15 年前

    我注意到把文本块放在另一个文本块中会自动给它们留出一些间隔。我想将此行为用于自定义项控件。我希望此项控件中的内容在它们之间自动获取一定数量的像素,但只能在最后一项之后或第一项之前获取,而不能在最后一项之后或之前获取。

    (编辑)

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

    给予:“ABC”而不是“ABC”

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

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

    1 回复  |  直到 15 年前
        1
  •  1
  •   Andreas Zita    15 年前

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