2010-04-12 18 views
10

Hej. Kolejne pytanie WPF. W moim kodu XAML Mam border:WPF Grubość krawędzi zwiększa kierunek

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

i gdzieś w kodzie mam zwiększyć BorderThickness

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

a rezultatem jest to, że wzrasta waga granicy, ale nie poza szerokość-wysokość 200x200, ale wewnętrzna, zmniejszająca wymiar. Czy istnieje sposób, aby zrobić coś przeciwnego?

Odpowiedz

8

Cóż, w rzeczywistości należy ustawić szerokość i wysokość na wewnętrznej lub zewnętrznej kontroli granicy, a nie samej granicy. Następnie możesz ustawić ujemny margines dla granicy, równy minus wartość grubości krawędzi. Coś takiego powinno wystarczyć:

<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

Wygląda na to, że należy odpowiednio zwiększyć szerokość i wysokość.