WEB开发网
开发学院图形图像Flash [SilverLight]扩展UserControl实现弹出效果 阅读

[SilverLight]扩展UserControl实现弹出效果

 2008-12-24 11:54:19 来源:WEB开发网   
核心提示: 代码比较简单,实现Show方法就是PopUp里面套个Grid再加UserControl,[SilverLight]扩展UserControl实现弹出效果(2),实现ShowAsModal就是PopUp里面套个Grid在增加一个黑色透明度等于0.2的Canvas再加上UserControl,

代码比较简单,实现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();

解决方案下载,祝大家圣诞快乐!

上一页  1 2 

Tags:SilverLight 扩展 UserControl

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接