Silverlight数据异步通信事例

 

今天无聊,在网上瞎逛,突然看到一些关于silverlight的内容。嘿嘿,正好趁自己有空也写个小程序玩玩。

功能就是点击用户名,利用WebClient异步获取服务器上用户的信息(图片和介绍) 界面运行效果如下。

 

 


 

 

 

 

 

 

开始本来是用silverlight Beta1完成的,后来越做越发现很多功能和属性用着麻烦也不太好
 
用了,最后干脆就改成了Beta2了,毕竟是最新版,果然用着舒服些啊。 整个功能完成
 
的比较顺利,当中也遇到了几个稍微麻烦点
­
的问 题。比如在Silverlight项目中图片路径赋值的问题。设置图片Source路径必须是ImageSource,我的是
­
"jay.jpg"路径怎么转?在Api里翻了半天,也没发现。最后到网上查了下, 网上搜了半天没个结果,最后瞎折腾了半
 
天用获取网络资源的方式,竟然成功了。方式:
­
new BitmapImage(new Uri(System.Windows.Browser.HtmlPage.Document.DocumentUri, "Images/a.jpg");
 
不过,这个方式不好的地方就是不能把图片放入Silverlight项目中打包,只能把图片转移到Web Application
­
里去了。
­
下面是Silverlight项目xaml部分源码了。
­
­
<UserControl x:Class="SilverlightTravel.NetWebClient"
    Width="600" Height="300" Loaded="UserControl_Loaded">
    <Grid x:Name="LayoutRoot" Background="WhiteSmoke" ShowGridLines="True">
        <Grid.RowDefinitions>
            <RowDefinition Height="30"></RowDefinition>
            <RowDefinition Height="150"></RowDefinition>
            <RowDefinition Height="200"></RowDefinition>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="200"></ColumnDefinition>
            <ColumnDefinition Width="*"></ColumnDefinition>
        </Grid.ColumnDefinitions>
        <TextBlock Text="请选择人物查看介绍" Grid.Column="0" Grid.Row="0"></TextBlock>
        <ListBox Grid.Column="0" x:Name="lstMusicer" Grid.Row="1" Width="200" HorizontalAlignment="Left" SelectionChanged="lstMusicer_SelectionChanged">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel>
                        <TextBlock Text="{Binding UserName}" Height="35"></TextBlock>
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
        <Image x:Name="imgPerson" HorizontalAlignment="Left" Grid.Row="1" Grid.Column="1"></Image>
        <MediaElement x:Name="mePlayer" HorizontalAlignment="Left" Source="video/" Grid.Row="2" Grid.Column="2" Height="50" Width="50"></MediaElement>
        <TextBlock x:Name="txtIntroduce"   Grid.Row="2" Grid.Column="1" Margin="30 50 " Grid.ColumnSpan="2"></TextBlock>
        <Button Height="50" VerticalAlignment="Top" Margin="10 " Width="120" Grid.Row="2" Grid.Column="0" Background="Red" Content="数据异步通信"></Button>
    </Grid>
</UserControl>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值