Подтвердить что ты не робот

Почему Blend добавляет [d: LayoutOverrides = "Height" ], и мне все равно?

Довольно часто, возвращаясь к Visual Studio из Expression Blend 3, я вижу, что Blend удачно добавила свойство "d: LayoutOverrides" в мой XAML. Растущий с дизайнерами ASP.NET, я, естественно, не доверяю ничему, что я бы не набрал сам, поэтому удалите их, как только я их увижу.

Я знаю, что свойства "d:" являются только конструкторами и не влияют на время выполнения, но может ли кто-нибудь дать представление о том, что делает это свойство, и почему Blend будет настолько настойчивым, что я буду использовать их по всей разметке?

<Border d:LayoutOverrides="Height" />
4b9b3361

Ответ 1

Это просто так, что Blend знает, как отображать ваш XAML в режиме разработки. В частности, если у вас есть жидкий макет, который растягивается, чтобы заполнить его контейнер, нет четкого способа, чтобы Blend знал, насколько высок ваш дизайн; LayoutOverrides определяет это.

Эти записи настроек LayoutOverride добавляются, когда вы (или другой человек, выполняющий Blend) вручную изменяете размеры элементов на поверхности дизайна. Если вы видите их по всему вашему коду (например, в элементе Border):

  • Обычно вы можете удалить их без каких-либо заметных аффектов.
  • Вы можете посмотреть, как вы используете Blend - в частности, вы должны увеличить размер родительского котайнера до хорошего размера (UserControl/LayoutRoot), а затем установить размеры дочернего элемента на основе макета жидкости. заполнение и маржа или * размеры

Обратите внимание, что игнорируемые атрибуты Blend удаляются во время компиляции и не влияют на производительность вашего приложения. Поэтому, хотя вы можете удалить их, чтобы улучшить читаемость кода, они не влияют на то, как работает ваше приложение.

Ответ 2

г: LayoutOverrides

Если свойство установлено на фиксированное значение во время выполнения, но вы хотите переопределить его во время разработки, вы можете использовать атрибут d: LayoutOverrides. Все свойства, которые следует игнорировать во время разработки, могут быть перечислены, разделенные точкой с запятой.

(источник: http://wpftutorial.net/DesigntimeVsRuntime.html)