Silverlightの簡単なロードフラグLoading...

3628 ワード

最近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.Resources>

            <helper:BooleanToVisibility x:Key="BoolToVisibility" />

 </Grid.Resources>

3、次に、Loadingなどのメッセージを表示するためにTextBlockを追加します.
 <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しました~