2009-06-02 6 views
1

ListBoxにアイテムのリストをバインドしていますので、各アイテムのボタンを表示するにはXAMLのヘルプが必要です。私はボタンを細かく表示することができますが、ボタンは内容のテキストの長さになります。私はボタンがListBoxの幅の100%を消費するようにしたい。 ListBoxの行の強調表示も停止する必要があります。ボタンがこれを行うためです。ItemTemplateのボタンのみを持つWPF 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> 
+0

リストボックスの定義には、リストボックスの定義が必要です。 Horizo​​ntalContentAlignment = "Stretch" –

答えて

1

はちょうどそれを働いた、リストボックスの定義が必要です。

**HorizontalContentAlignment="Stretch"** 
2

がグリッドからVerticalAlignmentをしてたHorizo​​ntalAlignmentプロパティを削除し、そしておそらくリストボックスではないあなたが必要とするコントロール..ですので、代わりのItemsControlをお試しくださいリストボックスの選択項目はありません。

関連する問題