2011-03-28 52 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