2010-04-12 66 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

它看起来像你需要相应地增加宽度和高度。