2013-03-06 6 views
1

Я создаю строки ListBoxItem, каждый из которых содержит эти 3 вещи:WPF DataTemplate Layout

1) Button 
2) TextBox 
3) CheckBox 

Я хочу, чтобы они выглядели, как это, где Флажок доки справа:

| 1 222   3 | 
| 1 222222222  3 | 
| 1 222222  3 | 

Но вместо того, чтобы Я получаю это:

| 1 222 3   | 
| 1 222222222 3  | 
| 1 222222 3  | 

Вот мой ItemTemplate:

<ListBox.ItemTemplate> 
    <DataTemplate x:Name="foo" DataType="{x:Type bar}"> 
    <DockPanel LastChildFill="True"> 
     <Button DockPanel.Dock="Left" /> 
     <CheckBox DockPanel.Dock="Right" /> 
     <TextBlock Text="Foo" /> 
    </DockPanel> 
    </DataTemplate> 
</ListBox.ItemTemplate> 


Правда, я не совсем понимаю нюансы StackPanels/DockPanels/Сетка, но любая помощь будет оценен по достоинству!

ответ

2

Попытка добавления этого к определению ListBox:

HorizontalContentAlignment="Stretch" 

Это позволит элементы, чтобы использовать всю ширину горизонтального списка.

+0

Это сделало трюк. Благодаря! – Matt

+0

@Matt Нет проблем. –