设为首页 收藏本站
查看: 845|回复: 0

win8/Metro开发系列三 Xaml常用控件

[复制链接]

尚未签到

发表于 2015-5-21 11:48:09 | 显示全部楼层 |阅读模式
  首先还是那句话,我不是大牛,这些只是简单的记录一下学习的过程,没有太多面向对象和设计模式的思维,只偏基础,不喜莫笑;个人观点如果有不足之处,还望多多指教!由于学的不是太深入这里大多数是面向控件和开发介绍;以使快速了解和开发
DSC0000.jpg
  这些歌东西大家混个眼熟吧~!
  玩过net的应该对这个会很熟悉的,就是套马甲换成适合移动平台触摸体验的了
  这里不罗嗦稍微介绍几个
  1.appBar
  其实也没啥看代码


DSC0001.gif DSC0002.gif View Code


1  
2         
3            
4                 
5                     
6                 
7                 
8            
9         
10     
  问:我想像Ie10一样进去就显示出来这个bar
  答:这个啊设置下IsOpen属性吧让他为true,就是默认显示
  说道默认的微软有时挺逗的 就像那个ProgressRing默认的时候是不显示呵呵一开始我用总出不来还以为这控件多高深呢,用错了呢结果是这事……所有有时出了什么问题大多是默认设置的问题,因为可能微软为了考虑性能把 很多浪费性能的默认都去掉了!
  问:人家的bar那么好看 ,我的bar那么难看,咋办
  答:微软给了了很多样式在StandardStyles.xaml里没事你可以去看看他会让你变美丽
  如果不行就先打开“字符映射表”,用了Windows这么多年,不要问我怎么打开。
  选择Segoe UI Symbol
DSC0003.png
  得到代码转义一下这里面很多样子注:&#x 开头,这是XML/HTML转义,比如,我们在字符映射表中看到某字符的编码为 U+ E109,在XAML中我们要替换为 &#xE109,没事到这里面逛逛特殊字符都可以用的。再不行自定义图片;
  问:哦好像懂了
  2.RichTextBlock
  问:我的textblock承载出来的文章怎么能让他能复制。难道用textbox不成
  答:非也,有richtextBlock在呢一切都好办,要么他怎么能叫富文本标签
  问:这种格式我要用怎么布局怎么排列啊
DSC0004.png
  
  答:richtextBlock
  问:从何下手
  答:看代码


View Code


1  /// richTextBlock加载网易格式的数据
2         ///
3         ///
4         /// 传递的加载的信息
5         public void loadRichText(string msg)
6         {
7             RichTextBlock tbContent = new RichTextBlock();
8             tbContent.Width = CT_WIDTH;
9             tbContent.Height = CT_HEIGHT;
10             tbContent.TextWrapping = TextWrapping.Wrap;
11             tbContent.Margin = new Thickness(CT_MARGIN);
12             Paragraph ph = new Paragraph();
13             ph.TextIndent = 33;
14             Run txtRun = new Run();
15             txtRun.Text = msg;
16             ph.Inlines.Add(txtRun);
17             tbContent.Blocks.Add(ph);
18             tbContent.FontSize = F_Size;
19             this.proRing.IsActive = false;
20             stPanel.Children.Add(tbContent);
21             // 更新一下状态,方便获取是否有溢出的文本  
22             tbContent.UpdateLayout();
23             bool isflow = tbContent.HasOverflowContent;
24             // 因为除了第一个文本块是RichTextBlock,  
25             // 后面的都是RichTextBlockOverflow一个一个接起来的  
26             // 所以我们需要两个变量  
27             RichTextBlockOverflow oldFlow = null, newFlow = null;
28             if (isflow)
29             {
30                 oldFlow = new RichTextBlockOverflow();
31                 oldFlow.Width = CT_WIDTH;
32                 oldFlow.Height = CT_HEIGHT;
33                 oldFlow.Margin = new Thickness(CT_MARGIN);
34                 tbContent.OverflowContentTarget = oldFlow;
35                 stPanel.Children.Add(oldFlow);
36                 oldFlow.UpdateLayout();
37                 // 继续判断是否还有溢出  
38                 isflow = oldFlow.HasOverflowContent;
39             }
40             while (isflow)
41             {
42                 newFlow = new RichTextBlockOverflow();
43                 newFlow.Height = CT_HEIGHT;
44                 newFlow.Width = CT_WIDTH;
45                 newFlow.Margin = new Thickness(CT_MARGIN);
46                 oldFlow.OverflowContentTarget = newFlow;
47                 stPanel.Children.Add(newFlow);
48                 newFlow.UpdateLayout();
49                 // 继续判断是否还有溢出的文本  
50                 isflow = newFlow.HasOverflowContent;
51                 // 当枪一个变量填充了文本后,  
52                 // 把第一个变量的引用指向当前RichTextBlockOverflow  
53                 // 确保OverflowContentTarget属性可以前后相接  
54                 oldFlow = newFlow;
55             }
56             //return RichTextBlock;
57         }
  问:为什么啊
  答:真是小白,就是他有个属性就是判断有没有超出则把剩余的数据赋给下一个模块继续显示
  问:哦懂了
  问:rich很富有啊;那还有什么用法么
  答:……咋啥都问呢,自己去gg其余的我也不知道了,gg完也跟我说一下,今天讲到这
  
  
  就到这了简单的说下很杂很乱,不喜莫骂谢谢指导~

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-69207-1-1.html 上篇帖子: mapx 32位在win8 64位上使用 下篇帖子: x01.os.2: Win8 硬盘安装 Unbuntu
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表