2009-06-02 2 views
1

Я привязываю список элементов к ListBox, мне нужна помощь с XAML, чтобы иметь возможность отображать кнопку для каждого элемента. Я могу отображать кнопку в порядке, однако кнопка занимает длину текста содержимого. Я хочу, чтобы моя кнопка потребляла 100% ширины ListBox. Мне также нужно остановить выделение строк для ListBox, так как кнопка должна делать это сама.WPF ListBox с только Button для ItemTemplate

Я использую кнопку вместо рисования прямоугольников, так как хочу использовать команды для события click на кнопке.

<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> 
+0

Выполнено, для определения списка ListBox требуется: HorizontalContentAlignment = "Stretch" – 2009-06-02 14:16:13

ответ

1

Просто работал его определение ListBox требует:

**HorizontalContentAlignment="Stretch"** 
2

Удалить свойства VerticalAlignment и HorizontalAlignment из сетки, и, возможно, является ListBox не Control вам нужно .. Попробуйте ItemsControl вместо так у вас не будет выбора вещей из списка.

Смежные вопросы