做简单的事,做简单的教程

专注移动开发。本博客教程采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可...

<wp7>另类弹窗,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。这个主要是设计弹窗的内容。

添加代码:

 

       

 <Border BorderBrush="YellowGreen" BorderThickness="2">
            <StackPanel x:Name="LayoutRoot1" Background="{StaticResource PhoneChromeBrush}"  Margin="0,0,0,10">
                <TextBlock Text="Body declared in UserControl XAML" HorizontalAlignment="Center"/>
                <Image Source="/RoundBtnDemo;component/images/MB_0010_radio.png" Height="80" Width="80" HorizontalAlignment="Center"/>
                <TextBox x:Name="msg" />
                <Border Background="YellowGreen" Height="100" Width="400">
                    <TextBlock x:Name="tx" Text="This is the first text in the Body section. Another Body content here" TextWrapping="Wrap" VerticalAlignment="Center"/>
                </Border>
            </StackPanel>
        </Border>



效果图为:


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

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



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

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

 

 void msgPrompt_Completed(object sender, PopUpEventArgs<string, PopUpResult> 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编程
上一篇手指之舞(三):多点触摸实现并且模拟GestureListener操作
下一篇&lt;WP7&gt;window phone 加速器(重力感应)初体验
想对作者说点什么? 我来说一句

很好用的Jquery弹窗

2011年07月29日 132KB 下载

弹窗软件7.0拍拍电影基地提供

2011年06月25日 5.69MB 下载

lightbox图片弹窗浏览

2018年07月08日 209KB 下载

pop_plugin

2014年07月01日 78KB 下载

jquery弹窗插件

2009年04月19日 43KB 下载

没有更多推荐了,返回首页

关闭
关闭