突袭网学院频道收集了关于【新手求教——WP实现一个心电图demo】相关的解决方案,此问题详细描述为:
windows?phone
path
希望我们收集此问题的解决方案对所有碰到此问题的朋友有帮助.
以下是突袭网编辑收集于互联网的各种解决方案,我们不能保证这些解决方案能彻底解决您的问题,但是作为一种参考希望能帮到您
------解决方案1--------------------
画图一般用 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
------解决方案2--------------------
问题应该出在这里:
Grid 的宽高设置成 Auto 时就是父容器的宽高,比如 480 * 800,
Path 的宽高由数据的值决定,比如 1000 * 1000,
把 Path 放入 Grid 里时 Grid 把容器宽高之外的 Path 部分 Clip 掉了,
对 Grid 进行 Transfrom 变换,Path 和 Grid 的宽高等比例的变化,永远只能显示这部分 Path。
解决方法:
一是把 Grid 换成 Canvas,Canvas 默认属性里不会 Clip 掉宽高之外的部分;
二是 Grid 的宽高不要设置成 Auto ,每次画点时改变 Grid 的宽高使之与 Path 相同。
------解决方案3--------------------
不确定心电图各各点之间到底是曲线拟合还是直线连接。如果是直线可以了。
------解决方案4--------------------
该回复于2015-04-13 13:17:37被管理员删除
以上为突袭网编辑收集的关于【新手求教——WP实现一个心电图demo】相关的解决方案,因为收集于互联网,突袭网不享有对应知识的版权,其版权归原站原作者收有,特此声明.