Когда я прочитал ваш вопрос, я предположил, что вы хотели что-то вроде этого:
public class UniformWrapPanel : WrapPanel
{
protected override Size MeasureOverride(Size constraint)
{
if(Orientation == Orientation.Horizontal)
ItemWidth = Children.Select(element =>
{
element.Measure(constraint);
return element.DesiredWidth;
}).Max();
else
... same for vertical ...
return base.MeasureOverride(constraint);
}
}
, но я вижу, что кто-то другой уже реализовал "UniformWrapPanel", и из ваших комментариев вы указываете, что это не то, что вы искалиfor.
Комментарий, который я не понимаю:
Я хочу, чтобы он не заставлял элементы иметь заданный размер, а использовал их уже существующий размер и, следовательно, определял ширину столбцов.автоматически
Не могли бы вы привести пример, иллюстрирующий, как вы хотите, чтобы вещи были разного размера?Картинка может быть хорошей.Вы также упоминаете "tabstop", но не даете никакого определения того, что это будет.