WPF DataTemplate Layout

Я создаю строки ListBoxItem, каждая из которых содержит эти 3 элемента:

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/Grids, но любая помощь будет принята с благодарностью!

1 ответ

Решение

Попробуйте добавить это в определение списка:

HorizontalContentAlignment="Stretch"

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

Другие вопросы по тегам