[CTP] Persistence Framework (パーシステンス フレームワーク) チュートリアル

0 ユーザーが評価
この投稿には確認済みの回答があります。 0 返信 | 1 サポーター

トップ 10 投稿者 
女性
投稿 22
IG Employee

このチュートリアルでは、NetAdvantage for Silverlight の Persistence Framework (パーシステンス フレームワーク) CTP バージョンの使用方法を紹介します。

 

Persistence Framework はユーザーのカスタム設定を保存し、復元できます。たとえば、ユーザーはデータバインドしたグリッドですべてのテキストを表示するために列のサイズを変更したり、必要がない列を非表示にしたりします。また、参照する必要がある列を固定します。一般的に、アプリケーションを閉じると、次回実行するときには、これらのカスタム設定は失われます。アプリケーションのデフォルトのレイアウトで初期化されるためです。そのためユーザーは毎回レイアウトをカスタマイズする必要があります。Persistence Framework を使用すると、レイアウト変更をファイル (分離ストレージ) に保存して、後で復元できます。

以下の例では、XamWebDialogWindow を移動してサイズ変更できる 3 つのボタンを作成します。1 つ目のボタンはカスタム設定を保存します。2 つ目のボタンはダイアログ ウィンドウの位置とサイズをリセットします。3 つ目のボタンは保持した設定を再読み込みします。

このチュートリアルは CTP を使用するため、10.1 バージョンでリリースされるアセンブリを使用する場合にコードが違うなる可能性があることに注意してください。たとえば、SaveIntoISO LoadFromISO メソッドは変更されます。

 

1.     新しい Silverlight アプリケーションを作成します。

2.     ソリューション エクスプローラーでは、「参照設定」フォルダーを右クリックして、「参照の追加」を選択して、Infragistics.Silverlight.Persistence.Preview Infragistics.Silverlight.Preview アセンブリへの参照を追加します。アセンブリを選択するには、インストール フォルダーに参照する可能性があります。

3.     MainPage.xaml ファイルでは、Grid (LayoutRoot) Width Height を設定します。

<Grid x:Name="LayoutRoot" Width="200" Height="300">

</Grid>

 

4.     ツールボックスで XamWebDialogWindow をダブルクリックすると、Grid タグの間に追加します。 コントロールの最近のバージョンを無料にダウンロードできます。

<igDW:XamWebDialogWindow Name="myDialog" Header="パーシステンス" Content="サイズを変更して移動します。" WindowState="Normal" Width="200" Height="200" />

5.     XamWebDialogWindow の下に 3 つのボタンを追加します。

<StackPanel>

       <Button Name="persistButton" Content="設定を保持" Click="PersistButton_Click"  />

       <Button Name="resetButton" Content="リセット" Click="ResetButton_Click" />

       <Button Name="reloadButton" Content="設定を再読み込み" Click="ReloadButton_Click" />

</StackPanel>

 

コンテンツを垂直方向に表示するには、StackPanel が使用されます。persistButton XamWebDialogWindow の設定を保存します。resetButton XamWebDialogWindow のサイズと位置をリセットします。reloadButton XamWebDialogWindow の保存した設定を復元します。

6.     メニューで[表示] -> [コード] を選択して、MainPage.xaml.cs を表示します。ページの上に名前空間宣言を追加します。

using System.IO;

using Infragistics.Silverlight;

using System.IO.IsolatedStorage;

 

7.     MainPage() コンストラクターの下に SaveIntoISO メソッドを作成します。

 

private void SaveIntoISO(DependencyObject obj, string fileName)

        {

            using (IsolatedStorageFile iso = IsolatedStorageFile.GetUserStoreForApplication())

            {

                if (iso.FileExists(fileName))

                {

                    iso.DeleteFile(fileName);

                }

 

                using (IsolatedStorageFileStream stream = new IsolatedStorageFileStream(fileName, FileMode.OpenOrCreate, iso))

                {

                    PersistenceManager.SaveControl(obj, stream);

                }

            }

        }

ISO は「Isloated Storage Object (分離ストレージのオブジェクト) です。 分離ストレージの詳細について、ここを参照してください。このメソッドは、コントロールの設定をファイルに保存するために .NET フレームワークの IsolatedStorageFile IsolatedStorageFileStream オブジェクトを作成します。ファイルがすでに存在する場合、そのファイルを上書きします。パラメーターでその設定を保存するコントロールとファイル名を設定します。

 

8.     SaveIntoISO メソッドの下に LoadFromISO メソッドを作成します。

 

private void LoadFromISO(DependencyObject obj, string fileName)

        {

            using (IsolatedStorageFile iso = IsolatedStorageFile.GetUserStoreForApplication())

            {

                if (iso.FileExists(fileName))

                {

                    using (IsolatedStorageFileStream stream = new IsolatedStorageFileStream(fileName, FileMode.OpenOrCreate, iso))

                    {

                        PersistenceManager.LoadControl(obj, stream);

                    }

                }

                else

                {

                    MessageBox.Show("保持した設定ファイルが存在しません。設定を保持してください。");

                }

            }

        }

 

このメソッドでは、指定したファイルから保存した設定を読み込みます。ファイルが存在しない場合、ユーザーにメッセージを表示します。パラメーターは保存した設定を受けるコントロールとファイル名を設定します。

 

9.     PersistButton_Click イベントを作成します。以下のコードで XamWebDialogWindow の設定を「Settings.txt」と言うファイルに保存します。ユーザーが変更しないために、分離ストレージはこのファイルを非表示されたフォルダーに作成します。ファイルを検索するには、Windows 検索機能を使用して、非表示されたフォルダーでそのファイル名を検索します。

private void PersistButton_Click(object sender, RoutedEventArgs e)

        {

            SaveIntoISO(myDialog, "Settings.txt");

            MessageBox.Show("保持が完了しました。");

        }

 

10.  ResetButton_Click イベントを作成します。XamWebDialogWindow の位置とサイズを最初の値にリセットします。

 

private void ResetButton_Click(object sender, RoutedEventArgs e)

        {

            myDialog.WindowState = WindowState.Normal;

            myDialog.Left = 0;

            myDialog.Top = 0;

            myDialog.Width = 200;

            myDialog.Height = 200;

        }

 

11.  ReloadButton_Click イベントを作成します。保存した設定を XamWebDialogWindow に適用します。

 

private void ReloadButton_Click(object sender, RoutedEventArgs e)

        {

            LoadFromISO(myDialog, "Settings.txt");

        }

 

12.  プロジェクトを保存して実行します。

a.     XamWebDialogWindow のサイズを変更して移動します。

b.     「設定を保持」ボタンをクリックします。設定を保存するときに数秒がかかります。保持が完了したときに MessageBox を表示します。

c.     次、「リセット」ボタンをクリックします。XamWebDialogWindow は最初の位置とサイズに戻ります。

d.     「設定を再読み込み」ボタンをクリックします。保存した位置とサイズを復元します!コントロール保持フレームワークもアプリケーションを閉じた後に設定を保持できます。ブラウザーの実行中のアプリケーションを閉じます。再実行します。「設定を再読み込み」ボタンをクリックします。上の手順で保持した設定を復元します。

 

 

ページ 1 / 1 (1 項目) | RSS
Infragistics Japan
インフラジスティックス ジャパン