Windows 8学习笔记(三)--RichTextBlock和MessageDialog

RichTextBlock

今天用了一下RichTextBlock富文本,基本用法与Windows Phone 7中没有太大区别,只是没有HyperLink,而是HyperLinkButton取而代之,需装载进InlineUIContainer对象即可。

用法如下:

            Paragraph ph = new Paragraph();
            Run run = new Run();
            run.Text = @"中广网北京3月31日消息 据经济之声《天下财经》报道,根据国家发改委调整国内成品油价格的政策规定,经北京市政府批准,从今天起,北京调整出租车燃油附加费标准,乘坐距离超过3公里的乘客燃油附加费标准由2元/运次调整为3元/运次,乘坐距离在3公里以内的乘客不收取燃油附加费。";
            ph.Inlines.Add(run);

            InlineUIContainer container = new InlineUIContainer();
            BitmapImage bitImage = new BitmapImage(new Uri("ms-            appx:///Images/head.jpg"));
            Image image = new Image();
            image.Source = bitImage;
            container.Child = image;
            ph.Inlines.Add(container);

            InlineUIContainer hpcontainer = new InlineUIContainer();
            HyperlinkButton hplink = new HyperlinkButton();
            hplink.Content = "http://money.msn.com.cn/internal/20120331/15451387966.shtml";
            hplink.Click += hpcontainer_Click;
            hpcontainer.Child = hplink;
            ph.Inlines.Add(hpcontainer);

            rtbText.Blocks.Add(ph);
 

MessageDialog

Win8中已没有MessageBox消息框,取而代之的是MessageDialog,采用异步方式显示。

1、 显示一个消息框

     MessageDialog msg = new MessageDialog("测试成功.");
     IUICommand result = await msg.ShowAsync();
 

2、 MessageDialog可以自定义消息框操作对象UICommand

      MessageDialog msg = new MessageDialog("确定退出吗?");
      msg.Commands.Add(new UICommand("确定", new    UICommandInvokedHandler(this.CommandInvokedHandler)));
      msg.Commands.Add(new UICommand("取消", new UICommandInvokedHandler(this.CommandInvokedHandler)));
 
3、 可以设置高亮显示消息框命令按钮
     msg.DefaultCommandIndex = 1;
 
4、同样也可以设置灰色显示命令按钮
      msg.CancelCommandIndex = 1;

相比Phon7中的MessageBox,MessageDialog可自定义性更强,开发者可以根据不同需求自由搭配。

posted on 2012-03-31 23:26  ShinyTang  阅读(4965)  评论(9编辑  收藏  举报

导航

作者:LucyTangLucyTang's Blog on 博客园
出处:http://www.cnblogs.com/jing870812/

本作品由LucyTang创作,采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。 任何转载必须保留完整文章,在显要地方显示署名以及原文链接。如您有任何疑问或者授权方面的协商,请给我留言