wpf - как применить одинаковые поля ко всем элементам на панели? - PullRequest
1 голос
/ 23 июля 2010

Существует ли способ автоматического указания всем дочерним элементам (например, меткам, текстовым полям и т. Д.) Иметь поле 5 на панели (например, панели док-станции)?

, т. Е. В отличие от необходимости устанавливать поледля каждого элемента отдельно - также отмечая, что установка поля на самой панели не годится, так как тогда на панели есть поле, а не элементы. Кстати,

- я отмечаю, что элемент PADDING отсутствуетна панели DockPanel (что помогло бы)

1 Ответ

5 голосов
/ 23 июля 2010

Я верю, что ответ "нет".Маржа не наследуется, скажем, размер шрифта, поэтому вам нужно выполнить одно из следующих действий:

  1. Используйте Grid вместо DockPanel.Это позволит вам использовать определения строк и столбцов, чтобы поддерживать одинаковый интервал между элементами.

  2. Использовать стиль.Вам все равно придется ссылаться на стиль для каждого элемента (например, Style="{StaticResource MarginStyle}", что потребует большего набора текста, чем просто Margin="10,5", но это позволит вам сохранить все значения полей в одном месте.

  3. Укусить пулю и установить поля для каждого элемента в отдельности.

...