BinaryFormatter bf;         //используя бинарную сериализацию
        public MainWindow()
        {
            InitializeComponent();
            ChooseTableWindow win = new ChooseTableWindow();

            win.ShowDialog();                                                                           //открываем диалоговое окно выбора стола
            this.img1.Source = (ImageSource) new ImageSourceConverter().ConvertFromString("cards.jpg"); // картинка колоды карт
            TableNumber      = win.tableNumber;
            this.Title       = string.Format("Стол {0}", TableNumber);                                  //передаём номер стола с Title основного окна
        }
        private void btn1_Click(object sender, RoutedEventArgs e)
        {
            ms = new MemoryStream();                         //перед сериализацией каждый раз создаём новый поток, чтобы легче было найти последние данные
            bf = new BinaryFormatter();
            bf.Serialize(ms, kObj);                          //Сериализация данных(объект класса Kasino в буфер)
            ChooseTableWindow win = new ChooseTableWindow(); //по нажатию кнопки "Выбрать стол" открываем диалоговое окно выбора

            win.ShowDialog();
            TableNumber = win.tableNumber;
            this.Title  = string.Format("Стол {0}", TableNumber); //передаём номер стола с Title основного окна
            ms.Seek(0, SeekOrigin.Begin);                         //перед десериализацией переходим в начало потока MemorySteam
            kObj = (Kasino)bf.Deserialize(ms);                    //десериализация в уже существующий объект Казино
            GP   = kObj.GetData(TableNumber);                     //получаем сохранённые параметры для очков и последних выпавших карт
            btnUserCard.Content     = GP[0];
            btnComputerCard.Content = GP[2];
            lb1.Content             = GP[1];
            lb2.Content             = GP[3];
        }