Я имею в виду определенное поведение макета и хочу посмотреть, сможет ли кто-нибудь придумать простой способ сделать это, прежде чем я попытаюсь написать собственную панель или что-то в этом роде. Взгляните на эту анимацию, которую я собрал вручную:
В дальнем левом углу есть элемент фиксированной ширины (прямоугольник), а затем второй элемент с центром - не внутри оставшегося пространства, а относительно всего контейнера. Когда контейнер сжимается, центрированный элемент остается центрированным , пока левый элемент не окажется слишком близко. Вместо того, чтобы оставаться прямо посередине, «центрированный» элемент теперь остается как можно ближе к центру без наложения . Это поведение, которое я хочу.
Используя Grid
, я могу сделать что-то вроде этого:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Border Width="100" Background="Green"/>
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Grid.ColumnSpan="2" FontSize="24" Margin="2, 0">Centered Text</TextBlock>
</Grid>
, который помещает все в нужное место, но TextBlock
запустится перекрываются с Border
вместо того, чтобы двигаться дальше вправо.
Так есть идеи, как мне заставить это делать то, что я хочу?