使用Silverlight Toolkit实现弹窗---ChildWindow

        在Silverlight中写一个弹窗功能并不难,但必定也要自己写代码,定义模式去实现,而
 在SilverlightToolKit3中,提供了一个叫“ChildWindow”的类,位于:  

        System.Windows.Controls

          
       使用它,我们可以很容易的将任何想放在新窗口中显示的内容,以弹窗的形式显示显示。
    
       下面演示一下效果:
    
       1. 点击弹窗按钮。
       
       2. 弹出子窗体,并输入数据。

     
    
        3. 点击“提交”按钮返回父窗体。
     
     
    
      下面就简要介绍一下其用法,如果之前我们执行了Silverlight ToolKit 3 的安装包。我
们只要在相应的SL应用项目上击鼠标右键,选“添加”--> "新建项",就可以在弹出窗口中
看到新加了一个“Silverlight Child Window”模板,这时我们选中它,并将新创建的子窗口
命名为:MyChildWindow.xaml

 

   
    
       这样,我们在可以在这个新建的XAML文件中加入任何我们想弹窗显示的元素了,比如:    

 

< controls:ChildWindow  x:Class ="Silverlight_ToolKit3.MyChildWindow"
    xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
    xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"  
    xmlns:controls
="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls"
    Width
="400"  Height ="180" >
    
< Grid  x:Name ="LayoutRoot"  Background ="White" >
        
< Grid.ColumnDefinitions >
            
< ColumnDefinition  Width ="100" />
            
< ColumnDefinition  Width ="300" />
        
</ Grid.ColumnDefinitions >
        
        
< Grid.RowDefinitions >
            
< RowDefinition  Height ="50" />
            
< RowDefinition  Height ="50" />
            
< RowDefinition  Height ="50" />
        
</ Grid.RowDefinitions >
        
        
< TextBlock  Text ="用户名:"  Grid.Column ="0"  Grid.Row ="0"   />
        
< TextBox  Width ="200"  x:Name ="UserName"  Grid.Column ="1"  Grid.Row ="0"  Height ="30" />
        
< TextBlock  Text ="密码:"  Grid.Column ="0"  Grid.Row ="1" />
        
< TextBox  Width ="200"  x:Name ="PassWord"  Grid.Column ="1"  Grid.Row ="1"  Height ="30" />

        
< StackPanel  Grid.ColumnSpan ="2"  Orientation ="Horizontal"  HorizontalAlignment ="Center"  Grid.Row ="2" >
            
< Button  Content ="提交"  Width ="75"  Height ="25"   x:Name ="Submit"  Click ="Submit_Click" />
            
< Button  Content ="取消"  Width ="75"  Height ="25"   x:Name ="Cancel"  Click ="Cancel_Click" />
        
</ StackPanel >
    
</ Grid >
</ controls:ChildWindow >

   
      我们看到上面的XAML中的按钮有两个单击事件,分别对应提交和取消操作,相应事件处理
代码如下: 

 

private   void  Submit_Click( object  sender, RoutedEventArgs e)
{
     
this .DialogResult  =   true ;
}

private   void  Cancel_Click( object  sender, RoutedEventArgs e)
{
     
this .DialogResult  =   false ;
}

 
       代码比较简单,主要是将当前对话框的结果(关闭时状态)传递给父窗口。
   
       下面我们就来看一下父窗口是如果实现弹窗功能的。
   
       首先我们在父窗口放置一个Button元素,并将Click事件进行绑定如下:       

 

< Button  Content ="显示子窗口"  Height ="23"  Grid.Column ="0"  Grid.Row ="0"   Click ="ShowWindow_Click" />

   
       然后向父窗口的XAML.CS文件中复制如下代码:     

 

 MyChildWindow myChildWindow  =   new  MyChildWindow();

 
public  MainPage()
 {
     InitializeComponent();

     
// 子窗口事件绑定
     myChildWindow.Closed  +=   new  EventHandler(myChildWindow_Closed);
 }

 
#region  子窗口事件代码
 
void  myChildWindow_Closed( object  sender, EventArgs e)
 {
     
if  (myChildWindow.DialogResult  ==   true )
         Message.Text 
=   string .Format( " 用户名:{0}  密码:{1} " , myChildWindow.UserName.Text, myChildWindow.PassWord.Text);
     
else
         Message.Text 
=   " 取消 " ;
 }

 
private   void  ShowWindow_Click( object  sender, RoutedEventArgs e)
 {
     myChildWindow.Title 
=   " 子窗口信息 " ;
     myChildWindow.OverlayBrush 
=   new  SolidColorBrush(Colors.Yellow);
     myChildWindow.Opacity 
=   0.9 ;
     myChildWindow.HasCloseButton 
=   true ;
     myChildWindow.Foreground 
=   new  SolidColorBrush(Colors.Red);
     myChildWindow.FontSize 
=   14 ;
     
// myChildWindow.OverlayOpacity = 0.9;
     
// myChildWindow.IsEnabled = false; 

     myChildWindow.Show();
 }
 
#endregion

 
      上述代码首先声明一个MyChildWindow实例,用于进行相关弹窗操作。然后在构程方法中
对该实例的Closed事件绑定事件处理代码“myChildWindow_Closed ”, 在该事件中我们可
以通过对DialogResult的判断(之前子窗口中已通过相关CLICK事件进行了绑定),来获取子
窗口中的输入数据信息并进行显示。
 
      最后的事件就是弹窗事件代码了,在这里可以对窗体背景的透明度Opacity,子窗口是否包
括关闭按钮(窗体右上方),子弹体是否有效等属性进行设置,并最终调用Show()方法来显示
子窗体。    


      好了,今天的内容就先到这里了。
   
      源码下载:http://files.cnblogs.com/daizhj/Silverlight_ToolKit3.rar
 
      原文链接:http://www.cnblogs.com/daizhj/archive/2009/07/23/1529323.html

      作者: daizhj, 代震军

      Tags: silverlight,ChildWindow,子窗体,弹窗

      网址: http://daizhj.cnblogs.com/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要安装CUDA Toolkit 10.2,请按照以下步骤进行操作: 1. 首先,确保您的计算机上已经安装了适合的NVIDIA显卡驱动程序。您可以通过访问NVIDIA官方网站(https://www.nvidia.com/Download/index.aspx)来下载和安装最新的驱动程序。 2. 下载CUDA Toolkit 10.2安装程序。您可以在NVIDIA官方网站的CUDA下载页面(https://developer.nvidia.com/cuda-10.2-download-archive)上找到适合您系统的安装程序。请选择与您操作系统相对应的版本进行下载。 3. 运行下载的安装程序。按照安装向导的指示进行操作,接受许可协议并选择安装选项。您可以选择自定义安装,以选择安装的组件。 4. 在安装选项中,确保选择安装CUDA开发工具包和CUDA示例。您还可以选择安装CUDA代码示例和其他组件,以满足您的需求。 5. 在安装过程中,可能会提示您安装驱动程序或其他必需的软件组件。请根据需要进行操作,并按照安装向导的指示进行操作。 6. 完成安装后,您需要配置环境变量。在系统的环境变量中添加CUDA的安装路径,以便系统可以找到CUDA的相关文件。具体的步骤会因操作系统而异。例如,在Windows系统中,您可以在系统属性的高级选项中设置环境变量。 7. 安装完成后,您可以通过编写和编译CUDA程序来验证安装是否成功。您可以使用NVIDIA的CUDA示例程序来测试。这些示例程序位于安装目录的samples文件夹中。 请注意,安装CUDA Toolkit需要一些计算机知识和经验。如果您对此不熟悉,建议您寻求专业人士的帮助或参考官方文档以获取更详细的说明。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值