2009-11-16 97 views
3

我成功地獲得一個文本框來調整一個父邊框的高度,但我需要的文本框實際上比父邊框高50個像素。WPF文本框高度等於父高度減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> 

回答

8

你就不能設置下邊距50?

<TextBox Margin="0,0,0,50" /> 
2

怎麼樣使用關上的高度結合到零下50轉換器

heres an example of using a converter

+0

嗨阿蘭,我曾考慮使用轉換器,但它似乎有點矯枉過正只是爲了調整一個值50!我在其他地方使用轉換器來查看可見性等,但我希望有一個更簡單的解決方案(如果存在的話)... – Mitch 2009-11-16 01:34:29

+0

這肯定會是矯枉過正。保證金應該有效。 – PeterAllenWebb 2009-11-16 01:39:18

+0

轉換器是wpf中的常用方式。是的保證金會在這個特定的情況下工作,但轉換器也有效。並且在許多情況下是唯一的方式。 – 2011-09-24 13:43:25

4

我試過下面,它的工作原理。 添加以下到文本框在XAML:

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

這裏,AncestorType是包含文本框容器的類型。在我的情況下,它是'網格'。 並添加保證金一樣,

Margin="0,0,0,50" 

保持從下邊框的距離。

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

哎呀對不起我張貼在同一頁上!