Если вы уверены, что возвращаете только номера или пустые ячейки, это предотвратит двойной поиск:
=IFERROR(VALUE(A1&" "),"")
В вашем случае замените A1
на VLOOKUP($C$3,Table1[#All],2, FALSE)
Каждое управление, происходящее от [1 124] Panel
реализации отличная логика макета, выполненная в Measure()
и Arrange()
:
Measure()
определяет размер панели, и каждый из ее детей Arrange()
определяет прямоугольник, где каждое управление представляет последний ребенок DockPanel
заливки остающееся пространство. Можно отключить это поведение путем установки LastChild
свойство к false
.
StackPanel
просит у каждого ребенка его желаемый размер и затем складывает их. Вызовы панели стека Measure()
на каждом ребенке, с доступным размером [1 110] и затем используют желаемый размер ребенка.
А Grid
занимает все свободное место, однако, это будет устанавливать каждого ребенка на их желаемый размер и затем центрировать их в ячейке.
можно реализовать собственную логику макета путем получения от [1 112] и затем переопределения MeasureOverride()
и ArrangeOverride()
.
См. эта статья для простого примера.
Существуют также некоторые свойства, которые можно установить, чтобы вынудить управление заполнить свое свободное место, когда оно иначе не сделало бы так. Например, можно сказать:
HorizontalContentAlignment="Stretch"
..., чтобы вынудить контент управления простираться горизонтально. Или можно сказать:
HorizontalAlignment="Stretch"
..., чтобы вынудить само управление простираться горизонтально для заполнения его родителя.
Ну, я изобразил его сам, прямо после регистрации, которая является большей частью смущения путь.:)
кажется, что каждый член StackPanel просто заполнит его минимальный требуемый размер.
В DockPanel, я прикрепил вещи в неправильном порядке. Если TextBox или ListBox будут единственным прикрепленным объектом без выравнивания, или если они будут добавленным последним, они заполнят остающееся пространство, как требуется.
я хотел бы видеть более изящный метод обработки этого, но она сделает.
Используйте HorizontalAlignment и свойства макета VerticalAlignment . Они управляют, как элемент использует пространство, которое он имеет в его родителе, когда больше комнаты доступно, чем требуемый элементом.
ширина StackPanel, например, будет так же широка как самый широкий элемент, который она содержит. Так, все более узкие элементы имеют немного избыточного пространства. Свойства выравнивания управляют тем, что дочерний элемент делает с дополнительным пространством.
значение по умолчанию для обоих свойств является Фрагментом, таким образом, дочерний элемент расширяется для заполнения всего свободного места. Дополнительные опции включают Левый, Центральный и прямо для HorizontalAlignment и Вершина, Центр и Нижняя часть для VerticalAlignment.