WPF ListBox只有ItemTemplate的Button

时间:2009-06-02 14:13:21

标签: wpf xaml button listbox

我将项目列表绑定到ListBox,我需要一些XAML帮助才能显示每个项目的按钮。我可以显示一个很好的按钮,但是按钮会占用内容文本的长度。我希望我的按钮消耗100%的ListBox宽度。我还需要停止ListBox的行突出显示,因为按钮应该自己执行此操作。

我正在使用按钮而不是绘制矩形,因为我想在按钮上使用命令进行单击事件。

<ListBox x:Name="MenuListBox" 
         ItemsSource="{Binding Path=MenuItemList}" 
         ScrollViewer.VerticalScrollBarVisibility="Visible">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <Grid VerticalAlignment="Top" HorizontalAlignment="Stretch" Margin="1">
                <Button Content="{Binding Path=Name}" 
                        Height="30" 
                        FontSize="12" 
                        FontWeight="Bold"
                        HorizontalAlignment="Stretch"
                        Command="{Binding Path=DataContext.GetChildrenCommand, Source={StaticResource spy}}" 
                        CommandParameter="{Binding}"/>
            </Grid>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

2 个答案:

答案 0 :(得分:2)

从网格中删除VerticalAlignment和Horizo​​ntalAlignment属性,也许是ListBox而不是你需要的控件。尝试使用ItemsControl,这样你就不会有Listbox的选择..

答案 1 :(得分:1)

刚刚完成,ListBox定义要求:

**HorizontalContentAlignment="Stretch"**
相关问题