我想创建按钮列表,我希望按钮遍布列表项空间。这就是我所拥有的:
<ListBox Margin="44,54,134,0" Name="listView1" Height="64" >
<Button Height="20"></Button>
<Button Height="20"></Button>
</ListBox>
结果是:
alt text http://img251.imageshack.us/img251/4050/samplec.png
第一张图片
我想要第二张图片,但按钮的右侧粘在列表的右侧。我试图将ItemTemplate绑定到ListBox宽度,但这并不适用于所有情况(如果width是Auto)
谢谢, 安德烈
答案 0 :(得分:2)
<ListBox Margin="44,54,134,0" Name="listView1" Height="64" HorizontalContentAlignment="Stretch">
<Button Height="20"></Button>
<Button Height="20"></Button>
</ListBox>
来自Andrey的编辑
如果您希望此解决方案完美添加以下这些内容:
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="Padding" Value="0"></Setter>
</Style>
</ListBox.ItemContainerStyle>
他们将删除左边令人讨厌的差距,这使得列表不对称
答案 1 :(得分:0)
这是我如何设法解决这个问题。这更灵活,但这对于这么简单的任务来说确实是开销
<ListBox ItemsSource="{Binding}">
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<Grid>
<Button Height="20">
<ContentPresenter></ContentPresenter>
</Button>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}"></TextBlock>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>