问个关于小说阅读器的问题。

showrock 2012-04-13 11:28:42


这个图片是“熊猫看书”的截图,我就是想做一个功能和这个功能一样的,载入txt书后,可以像ScrollViewer一样,可以上下移动看书,最下面有个ProgressBar可以根据你上下移动显示书阅读的百分比,现在有如下问题。

1.怎么实现滚动看书,开始想的是用ScrollViewer套TextBlock,但是TextBlock有长度限制,超过长度后,就读不出来了,再一个如果这个小说是十几兆的,那一次读出来肯定是不行的,加载不了,网上找了个变通的方法,就是判断长度,再动态的用TextBlock创建内容,但是我只是读了个205K的文件,就报异常了,显示不了。
考虑将txt文件分页读取?怎么实现?

2.书签功能是怎么实现的?

3.怎么算百分比,再绑到ProgressBar上,还有当字体,间距改变的时候,书签记录的位置应该怎么定位?

谢谢各位的回答。。。
...全文
569 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
1.怎么实现滚动看书,开始想的是用ScrollViewer套TextBlock,但是TextBlock有长度限制,超过长度后,就读不出来了,再一个如果这个小说是十几兆的,那一次读出来肯定是不行的,加载不了,网上找了个变通的方法,就是判断长度,再动态的用TextBlock创建内容,但是我只是读了个205K的文件,就报异常了,显示不了。
考虑将txt文件分页读取?怎么实现?
你可以动态的产生tex……
[/Quote]注意两个量: 当前阅读offset 当前加载offset
还有预加载offset否则会延时
kk75183 2012-05-29
  • 打赏
  • 举报
回复
你是用什么开发的?我用VS2005写过一个wm5.0的阅读器,自己用的很顺手
macrojj 2012-04-17
  • 打赏
  • 举报
回复
1.怎么实现滚动看书,开始想的是用ScrollViewer套TextBlock,但是TextBlock有长度限制,超过长度后,就读不出来了,再一个如果这个小说是十几兆的,那一次读出来肯定是不行的,加载不了,网上找了个变通的方法,就是判断长度,再动态的用TextBlock创建内容,但是我只是读了个205K的文件,就报异常了,显示不了。
考虑将txt文件分页读取?怎么实现?
你可以动态的产生textblock 然后插入stackpanel 来显示文字。比如100K一个textblock 插入进去。
当scroll 到最后的时候 去加载后面的

2.书签功能是怎么实现的?
记录当前offset

3.怎么算百分比,再绑到ProgressBar上,还有当字体,间距改变的时候,书签记录的位置应该怎么定位?
还是一个 当前offset/全文大小 就是progressbar的当前值。

注意两个量: 当前阅读offset 当前加载offset
showrock 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
1.怎么实现滚动看书,开始想的是用ScrollViewer套TextBlock,但是TextBlock有长度限制,超过长度后,就读不出来了,再一个如果这个小说是十几兆的,那一次读出来肯定是不行的,加载不了,网上找了个变通的方法,就是判断长度,再动态的用TextBlock创建内容,但是我只是读了个205K的文件,就报异常了,显示不了。
考虑将txt文件分页读取?怎么实现?
你可以动态的产生tex……
[/Quote]

3能不能给些代码,还是没有头绪,怎么在上下滑动的时候算百分比。。
gnimgnot 2012-04-14
  • 打赏
  • 举报
回复
1,你要计算一下一屏能显示多少个字节流比较合适,你翻页的时候再去实时读取下一页的流吧。stream能够根据偏移量来计算的。
2,把偏移量当做书签保存在独立存储空间中,下次打开软件的时候先读这个数据再去读页面数据。
3,ProgressBar是加进时一个等待吧?你的书签不用太精确,记录大概的页面偏移就可以了。
showrock 2012-04-13
  • 打赏
  • 举报
回复
怎么没有人呐。。。

7,659

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧