2011-03-28 111 views
2

我需要設置邊框的左邊和寬度。我試圖用保證金WPF設置邊框的左邊和寬度

b.Margin = new Thickness(pb.X, b.Margin.Top, b.Margin.Right, b.Margin.Bottom); 

,但如果我設置Width屬性的邊界被放置在一個不正確的怪的位置......(半屏+一半,我想左)。

我該怎麼辦?

感謝

+0

這哪裏是什麼邏輯?如果它在MeasureOverride(Size約束)方法中,那麼@ Snowbear的答案將會有所幫助。您還需要在ArrangeOverride()內執行類似的操作。否則,你能提供更多的細節嗎? – 2011-03-28 12:42:02

+0

您正試圖設置「左和寬」或「長度和寬度」? – Robaticus 2011-03-28 12:51:18

回答

1
var totalAvailableWidth = ...; // you will have to get it somewhere 
var marginRight = totalAvailableWidth - pb.X - width; 
b.Margin = new Thickness(pb.X, b.Margin.Top, marginRight, b.Margin.Bottom); 
+0

保證金的初始值爲0 ... – 2011-03-28 12:40:10

+0

謝謝,我需要休息... totalAvailableWidth =((FrameworkElement)b.Parent).ActualWidth; – 2011-03-28 12:52:31