windows phone 写一个显示心电图的demo
目前思路是 读取数据后,用path画 再动态加载到一个子Grid上,然后整个grid Transfrom。但发现 path无法再屏幕像素界意外画图(如 line 从0,0-1000,0 的话 只会画出屏幕宽度的长度 在后面没有画出)。这个想法就不行;
有没有其他的思路,相对详细一点 告诉控件或涉及哪些 我可以去看
跪谢大神....
------解决思路----------------------
画图一般用 Canvas 吧, Grid 适合相对长度的布局 。
超出屏幕宽度部分应该不是没有画出,是被 Grid 遮挡住了(Clip 属性)。
如果你是要每画一个点就向左侧收缩宽度那种效果,的确就是画点然后 Transfrom 的思路。
我觉得如果 Transfrom 的参数没错的话,可能是 Grid 的布局方式的问题,把 Grid 换成 Canvas 应该就可以了。
另外贴个以前写的画折线图的代码供你参考。
' XAML里画一个 Canvas,命名为 cv
' Private cv As Canvas = TryCast(FindName("cv"), Canvas)
Private pa As Path
Private pg As PathGeometry
Private pf As PathFigure
''' <summary>
''' 初始化一个 Path,并画第一个点。
''' </summary>
Private Sub InitPath(point As Point)
pf = New PathFigure
pf.StartPoint = point
pg = New PathGeometry
pg.Figures.Add(pf)
pa = New Path
pa.Stroke = New SolidColorBrush(Color.FromArgb(255, 255, 0, 0))
pa.StrokeThickness = 2
pa.Data = pG
cv.Children.Add(pa)
End Sub
''' <summary>
''' 向折线上追加一点并连线。
''' </summary>
Private Sub Plot(point As Point)
Dim ls As New LineSegment
ls.Point = point
pf.Segments.Add(ls)
End Sub
------解决思路----------------------
不确定心电图各各点之间到底是曲线拟合还是直线连接。如果是直线可以了。