<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;
            }
            
        }


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值