QA должен знать код (косвенно) лучше, чем разработка. QA платят, чтобы найти вещи, которые развитие не намеревалось случиться, и они часто делают. :) (Кстати, я разработчик, который просто ценит хороших ребят из QA целую кучу - далеко не всем ... далеко не всем).
Несколько мыслей:
Если это так, то вы можете с самого начала уменьшить некоторую сложность, а затем использовать некоторую форму взвешенных средних значений для предпочтений. Также при приеме на работу, поскольку мин. вы можете набирать на 30 минут, и, предположив, что они стоят дороже, вы, вероятно, захотите убедиться, что у них самый высокий уровень использования.
Вот несколько статей, которые могут помочь:
<ListView>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Width="{Binding (FrameworkElement.ActualWidth),
RelativeSource={RelativeSource AncestorType=ScrollContentPresenter}}"
ItemWidth="{Binding (ListView.View).ItemWidth,
RelativeSource={RelativeSource AncestorType=ListView}}"
MinWidth="{Binding ItemWidth, RelativeSource={RelativeSource Self}}"
ItemHeight="{Binding (ListView.View).ItemHeight,
RelativeSource={RelativeSource AncestorType=ListView}}" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
...
</ListView>
Недавно я исследовал, как этого добиться в WPF, и нашел хорошее решение. Я хотел воспроизвести режим списка в проводнике Windows, то есть сверху вниз, а затем слева направо.
В основном то, что вы хотите сделать, переопределить свойство ListBox.ItemsPanel
на используйте WrapPanel с ориентацией по вертикали.
<ListBox>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Vertical"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
Однако это БУДЕТ медленным при загрузке большого набора данных, так как панель переноса не виртуализирована. Это важно. Таким образом, эта задача теперь становится немного больше, поскольку теперь вам нужно написать свою собственную VirtualizedWrapPanel, расширив VirtualizedPanel и реализовав IScrollInfo.
public class VirtualizedWrapPanel : VirtualizedPanel, IScrollInfo
{
// ...
}
Это все, что я сделал в моем исследовании, прежде чем переходить к другой задаче. Если вам нужна дополнительная информация или примеры, прокомментируйте.
ОБНОВЛЕНИЕ . Бен Констебль s имеет отличную серию о том, как реализовать IScrollInfo .
Всего 4 статьи. Действительно хорошее чтение.
С тех пор я реализовал виртуализированную панель переноса, это непростая задача даже с помощью вышеуказанной серии статей.