zoukankan      html  css  js  c++  java
  • [SilverLight]扩展UserControl实现弹出效果

        感觉SilverLight的编程方式更像WinForm一点,要是有WinForm中的Show方法和ShowDialog方法就可以更灵活的操作窗口了,这次我们就来给SilverLight的UserControl增加这两个方法:分别是Show() and ShowAsModal()。
    基本原理是写个UserControl的基类BaseUserControl,在基类中实现这两个方法,需要弹出的UserControl继承这个基类就可以了,具体这两个方法的实现方式是利用SilverLight的PopUp对象。

    如下代码就是我抄来并修改的UserControl基类:

    BaseUserControl

    代码比较简单,实现Show方法就是PopUp里面套个Grid再加UserControl,实现ShowAsModal就是PopUp里面套个Grid在增加一个黑色透明度等于0.2的Canvas再加上UserControl,UpdateSize()私有方法是把grid和Canvas设置成和当前显示内容同等宽高,这样UserControl就可以显示在中央;提供了一个OnClickOutside()的虚方法供重载调用。
    然后写个UserControl并继承这个BaseUserControl,这里有个问题,把cs文件里继承的UserControl改成BaseUserCotrol后,还要把xaml进行相应的修改,修改方式如下代码:

    MyUserControl

    这里使用了基于Silverlight的精简框架之应用 http://www.cnblogs.com/guozili/archive/2008/11/23/1338150.html里面的控件。
    调用方式比较简单:

    uc

    解决方案下载,祝大家圣诞快乐!
  • 相关阅读:
    专职DBA-MySQL体系结构与基本管理
    JSON
    MIME类型
    文件上传下载
    response常用的方法
    2020.11.27小记
    HTTP请求状态码
    1561. Maximum Number of Coins You Can Get
    1558. Minimum Numbers of Function Calls to Make Target Array
    1557. Minimum Number of Vertices to Reach All Nodes
  • 原文地址:https://www.cnblogs.com/xiaozhuang/p/1361240.html
Copyright © 2011-2022 走看看