コード例 #1
0
        private async void buttonLoadSplit_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var picker = new FileOpenPicker();
                picker.ViewMode = PickerViewMode.List;
                picker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;
                picker.FileTypeFilter.Add(".xml");

                StorageFile file = await picker.PickSingleFileAsync();

                if (file != null)
                {
                    XmlFile   = file;
                    xmlBinary = await StorageFileToByteArray(XmlFile);

                    List <PartsSelectionTreeElement <ElementTypes> > parts = new List <PartsSelectionTreeElement <ElementTypes> >();
                    var response = await GetPartsFromXml();

                    if (!response.IsError)
                    {
                        var partsFromXml = response.Data as ObservableCollection <Service.PartsSelectionTreeElement>;
                        foreach (var element in partsFromXml)
                        {
                            var item = new PartsSelectionTreeElement <ElementTypes>(element.Id, element.ElementId, DocumentElementTypes, element.Name, element.Indent, element.Selected, element.OwnerName);
                            parts.Add(item);
                        }

                        var names = partsFromXml.Select(p => p.OwnerName).Where(n => !string.IsNullOrEmpty(n)).Distinct().ToList();
                        List <Data_Structures.ComboBoxItem> comboItems = new List <Data_Structures.ComboBoxItem>();
                        int indexer = 1;
                        foreach (var name in names)
                        {
                            comboItems.Add(new Data_Structures.ComboBoxItem()
                            {
                                Id = indexer++, Name = name
                            });
                        }

                        WordPartPage = new WordSelectPartsPage();
                        WordPartsPageData pageData = new Data_Structures.WordPartsPageData();
                        pageData.SelectionParts = parts;
                        pageData.LastId         = names.Count();
                        pageData.ComboItems.AddRange(comboItems);
                        WordPartPage.CopyDataToControl(pageData);
                        EnableSplitButton();
                    }
                    else
                    {
                        MessageDialog dialog = new MessageDialog(response.Message);
                        await dialog.ShowAsync();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageDialog dialog = new MessageDialog(ex.Message);
                await dialog.ShowAsync();
            }
        }
コード例 #2
0
 private void ResetControls()
 {
     WordPartPage  = null;
     _wasSplit     = false;
     _wasEditParts = false;
     DocumentFile  = null;
     XmlFile       = null;
 }
コード例 #3
0
        public WordPartsPageData(WordSelectPartsPage page)
        {
            ComboItems     = page._pageData.ComboItems;
            LastId         = page._pageData.LastId;
            SelectionParts = page._pageData.SelectionParts;

            page.CopyDataToControl(this);
        }
コード例 #4
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            if (e.Parameter is MainPage)
            {
                var main = e.Parameter as MainPage;
                this.DocumentFile   = main.DocumentFile;
                this.documentBinary = main.documentBinary;
                this.XmlFile        = main.XmlFile;
                this.FileName       = main.FileName;
                this.FileType       = main.FileType;
                this._wasSplit      = main._wasSplit;
                this._wasEditParts  = main._wasEditParts;
                this.WordPartPage   = main.WordPartPage;
                this.xmlBinary      = main.xmlBinary;

                InitButtons();
            }
        }