как насчет того, чтобы просто гарантировать то, что наклон является тем же и точкой, между другими?
данный точки (x1, y1) и (x2, y2) (с x2> x1) и точку кандидата (a, b)
, если (b-y1) / (a-x1) = (y2-y2) / (x2-x1) И x1 < < x2
Тогда (a, b) должен быть на строке между (x1, y1) и (x2, y2)
Что вам нужно сделать, так это установить для свойства HorizontalAlignment значение «Центр» (или «Вправо» или «Влево»). Кнопки должны быть растянуты из-за панели, содержащей.
<Style TargetType="{x:Type Button}">
<Setter Property="MinWidth" Value="90" />
<Setter Property="HorizontalAlignment" Value="Center" />
</Style>
Если вы просто установите минимальную ширину кнопки, и если ширина вашего текста больше минимальной ширины, он будет автоматически расширяться, но в обратном случае кнопка будет такой же, как и ваша минимальная ширина,
<Style TargetType="{x:Type Button}">
<Setter Property="MinWidth" Value="90" />
</Style>
то есть достаточно для архивирования до требуемого результата