WPF TextBox Высота равна Высота родителей минус 50 пикселей? - PullRequest
3 голосов
/ 16 ноября 2009

Я успешно получаю TextBox для изменения размера родительской границы, но мне нужно, чтобы TextBox был на 50 пикселей меньше по высоте, чем родительская граница.

Есть идеи, как этого добиться?

Я использую код

<Border VerticalAlignment="Stretch" HorizontalAlignment="Stretch" >
     <TextBox x:Name="txtActivityNotes" HorizontalAlignment="Stretch" Height="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Border}}, Path=ActualHeight}" AcceptsReturn="True" VerticalContentAlignment="Top" TextWrapping="WrapWithOverflow" VerticalScrollBarVisibility="Auto" />
</Border>

Ответы [ 3 ]

8 голосов
/ 16 ноября 2009

Разве вы не можете просто установить нижнее поле 50?

<TextBox Margin="0,0,0,50" />
4 голосов
/ 29 декабря 2011

Я попытался следовать, и это работает. добавить следующее в текстовое поле в xaml:

------
VerticalAlignment="Stretch" 
HorizontalAlignment="Stretch" 
Height="{Binding RelativeSource={RelativeSource FindAncestor, *AncestorType*={x:Type *Grid*}}, Path=ActualHeight}"
------

Здесь AncestorType - это тип контейнера, содержащего текстовое поле. В моем случае это была «Сетка». А также добавить маржу, как,

  Margin="0,0,0,50"

чтобы сохранить расстояние от границы ниже.

============

ой, извините, я разместил на той же странице.!

2 голосов
/ 16 ноября 2009

как насчет использования конвертера на привязке до минус 50 от высоты

вот пример использования конвертера

...