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

ListBox 정의에는 다음이 필요합니다. HorizontalContentAlignment = "Stretch" –

답변

1

그냥 그것을 밖으로 일을 목록 상자의 정의가 필요합니다

**HorizontalContentAlignment="Stretch"** 
2

를 그리드에서 VerticalAlignment 및 HorizontalAlignment로 속성을 제거하고, 아마 당신은 .. 대신 있도록 ItemsControl을 시도 필요가 없습니다 컨트롤 목록 상자입니다 Listbox의 선택 항목이 없습니다.