示例#1
0
        private async void OnOpenGame(object sender, RoutedEventArgs e)
        {
            Button b = sender as Button;

            b.IsEnabled           = false;
            _btnNewGame.IsEnabled = false;
            _appBarBottom.IsOpen  = false;
            try
            {
                var filePicker = new FileOpenPicker();
                filePicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;
                filePicker.ViewMode = PickerViewMode.List;
                filePicker.FileTypeFilter.Add(".crib");
                StorageFile file = await filePicker.PickSingleFileAsync();

                if (file == null)
                {
                    return;
                }



                using (var stream = await file.OpenStreamForReadAsync())
                {
                    using (var streamReader = new StreamReader(stream))
                    {
                        string savedGame = streamReader.ReadToEnd();

                        CribbageView view = GetCribbageView();
                        _stateMachine = new ClientStateMachine();
                        _stateMachine.Init(false, view);
                        await view.OnLoadGame(_stateMachine);

                        await _stateMachine.Load(savedGame);
                    }
                }
            }

            finally
            {
                b.IsEnabled           = true;
                _btnNewGame.IsEnabled = true;
            }
        }