2010-04-12 65 views
10

嘿。另一個WPF問題。在我的XAML代碼中,我有一個邊界:WPF邊框厚度增加方向

<Border x:Name="myBorder" Background="AliceBlue" 
    Width="200" Height="200" 
    BorderThickness="10" BorderBrush="Black"> 
</Border> 

,並在代碼的某個地方我增加了borderThickness

double thickness = myBorder.BorderThickness.Bottom + 2; 
myBorder.BorderThickness = new Thickness(thickness); 

,其結果是,邊框的重量增加而不是200x200的寬度,高度之外,但內在,減少維度。有沒有辦法做相反的事情?

回答

8

嗯,實際上你應該在邊框的內部或外部控制上設置寬度和高度,而不是在邊框上。然後,您可以爲邊框設置負邊距,等於減去邊框厚度的值。這樣的事情應該這樣做:

<Border x:Name="myBorder" Background="AliceBlue" 
Margin="-10,-10,-10,-10" BorderThickness="10" BorderBrush="Black"> 
    <Button Background="Red" Content="Test" Width="200" Height="200"></Button> 
</Border> 
0

它看起來像你需要相應地增加寬度和高度。