La démonstration ici est simple. On enregistre le texte contenu dans une TextBox. A chaque fois que l'on clique sur le bouton "Enregistrer les données", on efface tout le texte. On vérifie en fermant l'application et en la relancant puis en appuyant sur "Charger les données" que le texte revient ! Mais comment cela fonctione-t-il ? Chaque application a son "espace" stocké quelques part sur le disque. Il est possible d'y enregistrer plusieurs fichiers... Il est également possble d'augmenter la taille 'Quota' alloué, ...

Voici le code XAML de la page Silverlight !

<UserControl x:Class="IsoStorageSilverlight.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Width="400" Height="300">
    <Grid x:Name="LayoutRoot" Background="White">
        <Grid.RowDefinitions>
            <RowDefinition Height="5*"/>
            <RowDefinition Height="1*"/>
            <RowDefinition Height="1*"/>
        </Grid.RowDefinitions>
        <TextBox Grid.Row="0" Name="grille"/>
        <Button Grid.Row="1" Name="charger" Click="Charger_Click"  Content="Charger les données"/>
        <Button Grid.Row="2" Name="enregistrer" Click="Enregistrer_Click" Content="Enregistrer les données"/>
    </Grid>
</UserControl>

Voici le code C# de cette même page !

public partial class MainPage : UserControl
{
    private const string FILENAME = "fichier.txt";
 
    public MainPage()
    {
        InitializeComponent();
    }
 
    private void Enregistrer_Click(object sender, RoutedEventArgs e)
    {
        // On récupère le "store" pour cette application
        using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication())
        {
            // On vérifie si le fichier existe
            // Si oui on l'efface
            if (store.FileExists(FILENAME))
                store.DeleteFile(FILENAME);
 
            // On crée un nouveau fichier et on copie le contenu de la textbox
            using (FileStream stream = store.CreateFile(FILENAME))
            {
                StreamWriter writer = new StreamWriter(stream);
                writer.Write(grille.Text);
                writer.Flush();
            }
            // On reset la textbox !
            grille.Text = string.Empty;
        }
    }
 
    private void Charger_Click(object sender, RoutedEventArgs e)
    {
        // On récupère le "store" pour cette application
        using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication())
        {
            // Si le fichier existe, on le récupère
            if (store.FileExists(FILENAME))
                using (FileStream stream = store.OpenFile(FILENAME, FileMode.Open, FileAccess.Read))
                {
                    // On va le lire et positionner la propriété Text de la textbox
                    // avec le contenu de la grille !
                    StreamReader reader = new StreamReader(stream);
                    grille.Text = reader.ReadToEnd();
                }
        }
    }
}

Pour plus d'informations, je vous conseille la MSDN en cliquant ici.