[SilverLight]扩展UserControl实现弹出效果
2008-12-24 11:54:19 来源:WEB开发网代码比较简单,实现Show方法就是PopUp里面套个Grid再加UserControl,实现ShowAsModal就是PopUp里面套个Grid在增加一个黑色透明度等于0.2的Canvas再加上UserControl,UpdateSize()私有方法是把grid和Canvas设置成和当前显示内容同等宽高,这样UserControl就可以显示在中央;提供了一个OnClickOutside()的虚方法供重载调用。
然后写个UserControl并继承这个BaseUserControl,这里有个问题,把cs文件里继承的UserControl改成BaseUserCotrol后,还要把xaml进行相应的修改,修改方式如下代码:
MyUserControl
<uc:BaseUserControlx:Class="ExpandUserControl.UserControls.MyUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:uc="clr-namespace:ExpandUserControl">
<Gridx:Name="LayoutRoot"Cursor="Hand">
<uc:DialogPanelx:Name="myDialog"Background="White"Height="80"Width="300"Title="弹出框"DragEnable="True">
<uc:DialogPanel.Content>
<StackPanelOrientation="Horizontal"Margin="10"HorizontalAlignment="Center">
<ImageSource="../Images/alert_icon.png"Stretch="None"></Image>
<TextBlockx:Name="info"TextWrapping="Wrap"VerticalAlignment="Center"FontSize="12"/>
</StackPanel>
</uc:DialogPanel.Content>
</uc:DialogPanel>
</Grid>
</uc:BaseUserControl>
这里使用了基于Silverlight的精简框架之应用 http://www.cnblogs.com/guozili/archive/2008/11/23/1338150.html里面的控件。
调用方式比较简单:
uc
MyUserControluc=newMyUserControl("这是一个ShowAsModal的示例!");
uc.ShowAsModal();
解决方案下载,祝大家圣诞快乐!
Tags:SilverLight 扩展 UserControl
编辑录入:爽爽 [复制链接] [打 印]- ››silverlight全屏显示图片
- ››Silverlight MVVM 模式(一) 切近实战
- ››Silverlight for Windows Phone 7开发系列(1):...
- ››Silverlight for Windows Phone 7开发系列(2):...
- ››Silverlight for Windows Phone 7开发系列(3):...
- ››Silverlight for Windows Phone 7开发系列(4):...
- ››扩展Axis2框架,支持基于JVM的脚本语言
- ››扩展WebSphere Portal V6个性化功能
- ››扩展JavaScript的时候,千万要保留其原来的所有功...
- ››扩展数据:如何为 Model 750 服务器选择 I/O 扩展...
- ››扩展 JDT 实现自动代码注释与格式化
- ››扩展 secldap 的功能以验证多个数据源
更多精彩
赞助商链接