0

ListBoxコントロールの項目の間に区切り線を入れるのが好きです。その区切り行を使用して、ListBoxを1つの列と多くの行を持つテーブルのように見せたいと思います。

4

4 に答える 4

2
   <DataTemplate>
                <Border BorderThickness="0,10,0,10" BorderBrush="Black">
                        <Grid Width="auto" HorizontalAlignment="Stretch" >
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="auto" />
                                <ColumnDefinition Width="*" />
                                <ColumnDefinition Width="48" />
                            </Grid.ColumnDefinitions>
                            <TextBlock VerticalAlignment="Center" FontSize="36" FontWeight="Bold" Grid.Column="0" Foreground="Black" Text="{Binding Path=Title}" Name="title"/>
                            <TextBlock VerticalAlignment="Center" HorizontalAlignment="Right" Grid.Column="1" Foreground="Black" Text="{Binding Path=Location}" Name="location"/>
                            <Image VerticalAlignment="Center" Grid.Column="2" Width="48" Height="48" Source="ApplicationIcon.jpg"/>
                        </Grid>
           </Border>
                    </DataTemplate>
于 2012-07-31T09:07:30.743 に答える
1

基本的なアプローチは、リストボックスアイテムのCSSスタイルを定義することです。

<style type='text/css'>
option { border-top: solid 1px gray; }
</style>

...

<asp:ListBox ...></asp:ListBox>

これにより、各リストボックス要素の下部に灰色の境界線が追加されます。

注:これは、そのページのすべてのリストボックスに適用されます。特定のリストボックスにのみそのスタイルが必要な場合は、CSSクラスをリストボックスに適用し、CSSを変更してそれらにのみ適用します。

<style type='text/css'>
select.table option { border-top: solid 1px gray; }
</style>

...

<asp:ListBox CssClass="table" ...></asp:ListBox>
于 2012-07-31T08:49:38.663 に答える
0

プロパティMultiColumn=trueを設定してから:

listBox1.Items.AddRange(new object[]
    {
        "Item 1, column 1",
        "Item 2, column 1",
        "Item 3, column 1",
        "Item 4, column 1",
        "Item 5, column 1",
        "Item 1, column 2",
        "Item 2, column 2",
        "Item 3, column 2"
   });

MSDNを参照してください。

于 2012-07-31T08:38:55.083 に答える
0

NestorArturo に触発され、Border コントロールについて知りました。

ItemTemplate コンテンツを Border コントロールにラップし、BorderThickness と BorderBrush を指定するのは非常に簡単です。ItemTemplate のグリッドを変更する必要がないため、この方法を採用しました。

Border コントロールについては、http ://www.silverlightshow.net/items/Using-the-Border-control-in-Silverlight-2-Beta-1-.aspx で説明されています。

于 2012-07-31T08:47:05.623 に答える