WPF ListBox с единственной кнопкой для ItemTemplate - PullRequest
1 голос
/ 02 июня 2009

Я связываю список элементов с 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 ]

2 голосов
/ 02 июня 2009

Удалите свойства VerticalAlignment и HorizontalAlignment из Grid, и, возможно, ListBox - это не тот элемент управления, который вам нужен. Попробуйте вместо этого ItemsControl, чтобы у вас не было элементов выбора Listbox ..

1 голос
/ 02 июня 2009

Только что сработало, определение ListBox требует:

**HorizontalContentAlignment="Stretch"**
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...