您的位置:首页 > 其它

获取自定义组件的宽度和高度

2012-12-12 11:09 441 查看
在获取wpf自定义组件的宽度和高度的时候,如果直接在InitializeComponent();后面用this.Width,和this.ActualWidth会得到Nan和0,因为组件还没有被计算大小。

要获得组件的宽度和高度可以添加Loaded事件的响应函数,在事件函数里面在用this.Width就可以得到组件的宽度。

public lineNet()
{
InitializeComponent();

Loaded += delegate
{
Line line11 = new Line();
Line line12 = new Line();
Line line21 = new Line();
Line line22 = new Line();
//定义参考线颜色宽度
line11.StrokeThickness = 2;
line11.Stroke = Brushes.Blue;
line12.StrokeThickness = 2;
line12.Stroke = Brushes.Blue;
line21.StrokeThickness = 2;
line21.Stroke = Brushes.Blue;
line22.StrokeThickness = 2;
line22.Stroke = Brushes.Blue;

//定义参考线起止坐标
line11.X1 = 0;
line11.Y1 = 0;
line11.X2 = this.width;
line11.Y2 = 0;

line12.X1 = 0;
line12.Y1 = this.height;
line12.X2 = this.width;
line12.Y2 = this.height;

line21.X1 = 0;
line21.Y1 = 0;
line21.X2 = 0;
line21.Y2 = this.height;

line22.X1 = this.width;
line22.Y1 = 0;
line22.X2 = this.width;
line22.Y2 = this.height;

MainCanvas.Children.Add(line11);
MainCanvas.Children.Add(line12);
MainCanvas.Children.Add(line21);
MainCanvas.Children.Add(line22);
};

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: