我需要在列表框的一个冒号中设置两个元素,但我只能用这个代码设置一个:
<ListView>
<ListView.ItemTemplate>
<DataTemplate>
<Rectangle Width="13" Height="13" Name="Rectangles" Margin="0,5,0,0" Fill="Red" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
我想在同一行的rectange旁边设置Label。
我该怎么做?谢谢
答案 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的方向,如果它被设置为水平,则项目会叠加而不是向下。