CozyRSS开发记录16-RssContentView显示】的更多相关文章

CozyRSS开发记录16-RssContentView显示 1.RssContentView的布局和绑定 继续参照原型图来写xaml: 然后在RSSContentFrameViewModel里提供绑定的几个属性: 后面,这些属性会根据左侧RSSContentList里所选择的来显示. 2.RSSContentList选定项变色 为了体现当前选择项和其它项的区别,我们在xaml里来描述一下.这里处理了IsMouseOver和IsFocused两种触发器: 3.显示所选 最后,我们来控制显示的内容…
CozyRSS开发记录15-获取和显示RSS内容 1.内容列表 我们先给RSSContentFrame增加一个ViewModel,里面和RSS源列表一样,提供一个ObservableCollection.列表项的内容换成绑定到RSSContentList_ListItemViewModel: 2.更新按钮 将RSSContentTitle里的刷新按钮,绑定到UpdateContentCommand.点击更新按钮时,获取feed内容,显示标题和内容列表: 3.实际效果 打开界面时,什么内容都没有…
CozyRSS开发记录17-Html2Xaml 1.RssContentView还需要优化 上回做了RssContentView的显示,但是对于rss返回的描述(摘要),连换行的没有,更别说里面还有html描述符了.换行比较好解决,加个限定大小,再加一个自动换行的描述就可以了: TextWrapping="Wrap"  Margin="10 12 10 10" 2.在wpf里显示html的方法 显示html,有两个方向: A.直接显示html B.将html转换成别…
CozyRSS开发记录22-界面退化 1.问题1-HtmlTextBlock 找的这个HtmlTextBlock有很严重的bug,有时候显示不完全,有时候直接就崩了.然后看了下代码,完全是学生仔水平写的啊! 2.问题2-MaterialDesignToolkit 有严重的性能问题.Github上有一个文档可以缓解: https://github.com/ButchersBoy/MaterialDesignInXamlToolkit/wiki/Performance 然后,就算把帧数改低,把动画禁…
CozyRSS开发记录12-MVVM,绑定RSS源和数据 1.引入MvvmLight MVVM最近貌似在前端那块也挺火的.据说,WPF的程序如果不用MVVM,那跟MFC和winform的,也没啥区别.用上MVVM,程序瞬间高大上.MVVM的好处和介绍,网上多得是,这里也不多说,推荐一篇比较好的文章: http://www.codeproject.com/Articles/165368/WPF-MVVM-Quick-Start-Tutorial MVVM相关的库也很多,比较有名的有:Prism.R…
CozyRSS开发记录6-继续补全订阅内容栏 1.订阅内容栏布局 按照之前的原型图,把订阅内容栏分成三块.Xaml如下: 2.照葫芦画瓢,完成头部和列表 头部依然使用ColorZone,右侧再放两个按钮.Xaml如下: 列表项分两行,第一行包含两个图标和内容标题,第二行是时间.Xaml如下: 3.最终效果 RssContentView部分暂时先用一个WebBrowser. 列表里的图标用到了materialDesign的PackIcon,在materialDesign的demo里可以看到所有图标…
CozyRSS开发记录1-原型图与Grid 1.使用MockPlus画出最简陋的原型图 这个界面参考了目前我最常使用的RSS阅读-傲游浏览器的内置RSS阅读器.主体框架划分为上.左下.右下三块,分别是标题栏(工具类)TitleBar.订阅列表栏RSSListFrame.订阅内容栏RSSContentFrame.订阅内容栏又划分为上.左下.右下三部分,分别是RSSContentTitle.RSSContentList.RssContentView. 2.建立CozyRSS工程,用Grid划分窗口…
CozyRSS开发记录21-默认RSS源列表 1.默认列表 在第一次使用CozyRSS的情况下,我们让它内置五个RSS源吧: 2.响应RSS源的更新 先不处理RSS源列表项的点击,响应下下拉菜单里的更新: 分别通知主窗口和RSS订阅内容栏: 主窗口负责把侧滑菜单缩回去: 内容栏里更新内容: 最终效果一般般,但是能用,不过有时候会异常,后面再来看吧:…
CozyRSS开发记录20-CanResizeWithGrip 1.窗口样式 首先,WindowStyle有四种: 然后,对于窗口缩放的ResizeMode,也有四种,CanResize和CanResizeWithGrip两种都可以拖放缩放,CanResizeWithGrip右下角有网格: 2.无边框并且可缩放 如果给窗口的ResizeMode设置CanResize,那么,即使给WindowStyle设置了None,窗口照样有边框,而CozyRSS要求是无边框的. 实现无边框并且可缩放,网上也提…
CozyRSS开发记录19-窗口标题栏交互 1.谈谈对mvvm解耦的看法 在使用mvvm时,如何操作窗口,这是一个问题.这个问题的关键点是:mvvm是把view和viewmodel解耦了的,很多写法一不小心又把它们耦合起来了. 那么,view和viewmodel解耦有什么好处,不解偶又有什么坏处呢?我这里也不深入讨论了,只说一个场景:CozyRSS假使要做android版和ios版了,我的model和处理的库肯定是不用改的,那viewmodel需要改吗? 前面说到,mvvmlight是跨平台的,…