Silverlight的一个简单加载标志Loading...

最近在学习Rahul的《Silverlight and .NET RIA Services - Step By Step》系列,觉得很实用,记录一些简单技巧。

从数据库或者其它数据源读取数据加载到页面中,难免会有时间延迟,提供加载标志是很有必要的。

 

首先,增加一个处理类,实现IValueConverter接口,返回一个控件的是否可见属性。

public class BooleanToVisibility : IValueConverter
    {

        public object Convert(object value, Type targetType, object parameter,
                                System.Globalization.CultureInfo culture)
        {
            return ((bool)value == true ? Visibility.Visible : Visibility.Collapsed);
        }

        public object ConvertBack(object value, Type targetType, object parameter,
                                System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }

 

然后,在xaml文件中做自己的事啦。

1、增加处理类命名空间的定义

xmlns:helper="clr-namespace:MySample.Helpers"

2、在<Grid x:Name="LayoutRoot">里面定义一个可供后面使用的key

<Grid.Resources>
            <helper:BooleanToVisibility x:Key="BoolToVisibility" />
 </Grid.Resources>

3、接着,增加一个TextBlock来显示消息,比如Loading...

 <TextBlock Height="49" Name="textBlock1" Text="Loading..."
                   VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="32" 
                   Visibility="{Binding ElementName=source, Path=IsLoadingData, 
                            Mode=TwoWay, Converter={StaticResource BoolToVisibility}}" />

 

OK了~

 

posted @ 2012-06-04 10:22  One Ivan  阅读(645)  评论(0编辑  收藏  举报