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了~

 

你可能感兴趣的:(silverlight)