Silverlight 布局面板加控件方法

Silverlight 布局面板加控件方法

添加文字的方法:

TextBlock txt = new TextBlock();txt.Text = tmc;txt.FontSize = 12;txt.Foreground = t_brush;txt.FlowDirection = FlowDirection.LeftToRight;//double tt_angle = this.GetAngle(eb, ee);double t_angle = tt_angle;t_angle = t_angle * 180.0 / this.PI;if (t_angle >= 360){t_angle -= 360;}t_angle = 360 – t_angle; //修正用于顺时针rotate方向//RotateTransform //SkewTransformRotateTransform rt = new RotateTransform();rt.Angle = t_angle; //顺时针rotate方向rt.CenterX = 0;rt.CenterY = 0;txt.RenderTransform = rt;txt.RenderTransformOrigin = new Point(t_atP.X, t_atP.Y);//txt.SetValue(Canvas.LeftProperty, t_atP.X);txt.SetValue(Canvas.TopProperty, t_atP.Y);//this.cRoot.Children.Add(txt);//—-添加直线的方法:

Brush t_brush=new SolidColorBrush(this.LineColor);//double p_sx = this.wfView.MapToScreen_X((double)rt_t.SX);double p_sy = this.wfView.MapToScreen_Y((double)rt_t.SY);//double p_ex = this.wfView.MapToScreen_X((double)rt_t.EX);double p_ey = this.wfView.MapToScreen_Y((double)rt_t.EY);//PointD eb = new PointD();eb.X = (double)rt_t.SX;eb.Y = (double)rt_t.SY;PointD ee = new PointD();ee.X = (double)rt_t.EX;ee.Y = (double)rt_t.EY;//画线(用面对象只添加两个点来完成)Polygon t_line = new Polygon();//t_line.Points.Add(new Point(p_sx, p_sy));t_line.Points.Add(new Point(p_ex, p_ey));//t_line.Points.Add(new Point(p_sx, p_sy));////t_line.StrokeThickness = 2;//t_line.Opacity = 0.5;//t_line.Width = 2;t_line.Stroke = t_brush;t_line.Fill = t_brush;//this.cRoot.Children.Add(t_line);

添加图片和矩形框的方法:

BitmapImage img = new BitmapImage();img.CreateOptions = BitmapCreateOptions.None;string path = "/AppSilverlight;component/WorkFlowNodeImageDir/png/" + t;Stream s = Application.GetResourceStream(new Uri(path, UriKind.Relative)).Stream;img.SetSource(s);//Image ui_img = new Image();ui_img.Source = img;//计算节点左上角坐标double top_x = (int)p_x;top_x = top_x – img.PixelWidth / 2;double top_y = (int)p_y;top_y = top_y – img.PixelHeight / 2;//ui_img.SetValue(Canvas.LeftProperty, top_x);ui_img.SetValue(Canvas.TopProperty, top_y);this.cRoot.Children.Add(ui_img);////画节点外边框{Rectangle rect = new Rectangle();rect.Stroke = t_Brush;rect.Fill = new SolidColorBrush(Colors.Transparent);rect.SetValue(Canvas.LeftProperty, top_x);rect.SetValue(Canvas.TopProperty, top_y);rect.Width = img.PixelWidth;rect.Height = img.PixelHeight;this.cRoot.Children.Add(rect);}}//添加节点名称{ //画节点名称string actmc = rt_act.ACTMC;TextBlock txt = new TextBlock();txt.Text = actmc;txt.FontSize = 12;txt.Foreground = t_Brush;char[] longLine = actmc.ToCharArray();//修正节点名称显示位置double t_txtLen = longLine.Length / 2.0;t_txtLen = t_txtLen * txt.FontSize;//double x = p_x – t_txtLen;double y = p_y + 24 + 0;txt.SetValue(Canvas.LeftProperty, x);txt.SetValue(Canvas.TopProperty, y);//this.cRoot.Children.Add(txt);

,细数门前落叶,倾听窗外雨声,

Silverlight 布局面板加控件方法

相关文章:

你感兴趣的文章:

标签云: