另类弹窗,coding4Fun插件提供的弹窗

从我的网易博客移过来的。。


先提供效果图吧。

 

 

 这个是coding4Fun提供的MessagePrompt弹窗。还提供了ToastPrompt:土司弹出框,类似于土司推送通知。

AboutPrompt:说明弹出框,特点是弹出框会在屏幕中间,其他的弹出框是在屏幕的上方(其他可以通过Margin调整文位置)。

PasswordInputPrompt:密码输入弹出框。

InputPrompt:输入弹出框,用于弹出输入框输入其他的信息。

这些都不讨论了。需要的可以到官网文档:http://coding4fun.codeplex.com/wikipage?title=MessagePrompt&referringTitle=Documentation

或者到:http://coding4fun.codeplex.com/wikipage?title=MessagePrompt&referringTitle=Documentation了解。

今天讨论用MessagePrompt自定义自己的弹窗。弹窗可以带输入框等内容。

先新建一个window phone User Control。命名为BodyUserControl。这个主要是设计弹窗的内容。

添加代码:

 

 
  

       

 
            
                
                
                
                
                    
                
            
        

 
  
 
  

效果图为:


在主界面里面的需要弹窗的onclick事件或者其他里面添加代码:
 
   

 MessagePrompt msgPrompt = new MessagePrompt();
            msgPrompt.Title = "UserControl test";
            msgPrompt.Body = new BodyUserControl();
            msgPrompt.IsAppBarVisible = false;
            msgPrompt.Completed += new EventHandler>(msgPrompt_Completed);
            msgPrompt.Show();


 
  

 最重要的来了:怎么获取弹窗上的TextBox 的内容呢?

其实是在那个Completed事件可以获取:

 

 
  

 void msgPrompt_Completed(object sender, PopUpEventArgs e)
        {
            if (e.PopUpResult == PopUpResult.Ok)//先判断是否是点击那个勾,也就是确定
            {
                var msgPrompt = sender as MessagePrompt;//把sender转为MessagePrompt对象
                var bodyControl = msgPrompt.Body as BodyUserControl;//取出BodyUserControl对象
  //取出BodyUserControl中Name为msg,也就是那个TextBox。
  //这里的Showmsg是一个TextBlock,这样,就能取到弹窗上的控件的值
                ShowMsg.Text = bodyControl.msg.Text;
            }
            
        }


 
  

你可能感兴趣的:(window,phone编程)