如何将同一行中的多个项目添加到列表框c#中?

时间:2014-02-07 12:10:18

标签: c# listbox items

我需要在列表框的一个冒号中设置两个元素,但我只能用这个代码设置一个:

<ListView> 
    <ListView.ItemTemplate>
        <DataTemplate>
            <Rectangle Width="13" Height="13" Name="Rectangles"  Margin="0,5,0,0" Fill="Red" />
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

我想在同一行的rectange旁边设置Label。

我该怎么做?谢谢

3 个答案:

答案 0 :(得分:0)

尝试将其放置在Stackpanel或Grid

等容器中
<ListView>
  <ListView.ItemTemplate>
    <DataTemplate>
      <StackPanel>
        <Rectangle Width="13" Height="13" Name="Rectangles"  Margin="0,5,0,0" Fill="Red" />
        <TextBlock />
      </StackPanel>
    </DataTemplate>
  </ListView.ItemTemplate>
</ListView>

答案 1 :(得分:0)

Grid内创建DataTemplate并为ColumnDefinations内的控件创建ListView

<ListView.ItemTemplate>
    <DataTemplate>
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="13" />
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>
            <Rectange Grid.Column="0" Fill="Red"  Margin="0,5,0,0"/>
            <Label Grid.Column="1"/>
        </Grid>
    </DataTemplate>
</ListView.ItemTemplate>

答案 2 :(得分:0)

您可以尝试使用stackpanel

示例:

<ListView> 
    <ListView.ItemTemplate>
        <DataTemplate>
         <StackPanel Orientation="Horizontal">
                 <Rectangle Width="13" Height="13" Name="Rectangles"  Margin="0,5,0,0" Fill="Red" />
                 <Label Content="MyContent" />
         <StackPanel>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

重要的部分是stackpanel的方向,如果它被设置为水平,则项目会叠加而不是向下。