0

TextBlocks を別の TextBlock 内に配置すると、自動的に間にスペースができることに気付きました。この動作をカスタム ItemsControl に使用したいと思います。この ItemsControl のコンテンツが、それらの間で一定量のピクセルを自動的に取得するようにしたいのですが、最後の項目の後または最初の項目の前ではなく、その間にのみ取得します。

(編集)

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

Givese: 「ABC」ではなく「AB C」

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

3 つのぎっしり詰まったボタンが表示されますが、ボタン B の周囲に余白、つまり各ボタン間の間隔、またはこの ItemsControl 内にあるものが必要です。マージンを手動で設定する必要はありません。

4

1 に答える 1

1

私はこれに対する解決策を自分で見つけました。秘訣は、itemscontrolのアイテムが最初か最後かを調べ、これに従ってスタイルにマージンを設定することです。これに使用できるAlternationIndexと呼ばれるitemscontrolに添付プロパティがあります。AlternationCountを9999に設定すると、AlternationIndexが実際のインデックス(最大9999)と同じになり、最初のマージン(AlternationIndex == 0)をデフォルトのマージン以外の値に設定できます。問題が解決しました。

于 2010-11-11T13:33:08.537 に答える