1

StackPanel ベースの要素テンプレートを使用して、XAML でアイテムのリスト (ListBox) を作成しています。レイアウトは問題ありませんが、各アイテムの背景として四角形を使用したいと思います - 各アイテムの周りにボックスを作成します.

どうにかして Canvas を使用することを考えていましたが、各項目の高さ (および StackPanel 内の項目の高さ) が異なるため、その方法がわかりません (C#/XAML は初めてです)。この状況で、テンプレートに最適な構成は何でしょうか?

4

2 に答える 2

3

で指定するだけで、次のItemTemplateように、必要なことを実行できます。

<ListBox.ItemTemplate>
  <DataTemplate>

    <Grid>
       <Border BorderBrush="Red" BorderThickness="2" Background="Blue"/>
       <!-- Insert the rest of your Item template stuff here -->
    </Grid>

  </DataTemplate>
</ListBox.ItemTemplate>
于 2013-05-22T20:36:20.257 に答える
0

ListBox はItemsControlの一種で、項目の外観を制御するいくつかのプロパティを公開します。この場合、ItemContainerStyle を見てください (ListBox の場合、項目コンテナは ListBoxItem のインスタンスです)。たとえば、ItemsContainerStyle の Background プロパティを何らかの色に設定できます。

于 2013-05-22T20:30:54.360 に答える