public void SetCurrentWord(WordOfDictionary item) { if (CurrentWord != null) CurrentWord.PropertyChanged -= CurrentWord_PropertyChanged; CurrentWord = item; if (!IsInDesignMode) { CommandDispatcher("SpeechItem"); } CurrentWord.PropertyChanged += CurrentWord_PropertyChanged; // default setting btnOk.Visibility = Visibility.Collapsed; TranslationsPanel_Visibility = Visibility.Collapsed; ImagesList_Visibility = Visibility.Collapsed; EditModeVisibility = Visibility.Collapsed; bool Testing = false; switch (mode) { case Mode.FoundNewWord: Header_LabelModel.Text = Tx.T("WordsTranslation.Caption.NewWordsFound"); Testing = LearningItem.TestingUnderstandingNewWords; btnTrainingNext.Visibility = Visibility.Collapsed; ImagePanelVisibility = Testing ? Visibility.Collapsed : Visibility.Visible; WordsButtonPanelVisibility = Testing ? Visibility.Visible : Visibility.Collapsed; TranslatingVisibility = Testing ? Visibility.Hidden : Visibility.Visible; BottomButtonsPanelVisibility = Testing ? Visibility.Collapsed : Visibility.Visible; break; case Mode.Training: Header_LabelModel.Text = Tx.T("WordsTranslation.Caption.Training"); Testing = true; btnTrainingNext.Visibility = Visibility.Hidden; ImagePanelVisibility = Visibility.Hidden; WordsButtonPanelVisibility = Visibility.Visible; TranslatingVisibility = Visibility.Hidden; BottomButtonsPanelVisibility = Visibility.Collapsed; WordsCollection_ListModel.Visibility = Visibility.Visible; btnPreviousButton.Visibility = Visibility.Collapsed; btnNextButton.Visibility = Visibility.Collapsed; break; case Mode.WordTranslation: Header_LabelModel.Text = Tx.T("WordsTranslation.Caption.Translation"); Testing = false; btnTrainingNext.Visibility = Visibility.Visible; btnPreviousButton.Visibility = Visibility.Hidden; btnNextButton.Visibility = Visibility.Hidden; WordsCollection_ListModel.Visibility = Visibility.Visible; break; case Mode.Edit: btnPreviousButton.Visibility = Visibility.Collapsed; btnNextButton.Visibility = Visibility.Collapsed; WordsCollection_ListModel.Visibility = Visibility.Collapsed; btnOk.Visibility = Visibility.Visible; BottomButtonsPanelVisibility = Visibility.Collapsed; WordsButtonPanelVisibility = Visibility.Collapsed; btnTrainingNext.Visibility = Visibility.Collapsed; TranslatingVisibility = Visibility.Collapsed; TranslationsPanel_Visibility = Visibility.Visible; ImagesList_Visibility = Visibility.Visible; EditModeVisibility = Visibility.Visible; break; default: throw new NotImplementedException(); } /* btnSkip.Visibility = Visibility.Visible; if(Testing) { btnPreviousButton.Visibility = Visibility.Hidden; btnNextButton.Visibility = Visibility.Hidden; WordsCollection_ListModel.Visibility = Visibility.Visible; } else { WordsCollection_ListModel.Visibility = Visibility.Collapsed; btnNextButton.Visibility = idx < WordsCollection.Count - 1 ? Visibility.Visible : Visibility.Hidden; btnPreviousButton.Visibility = idx > 0 ? Visibility.Visible : Visibility.Hidden; } */ if (IsInDesignMode) return; if (Testing) { PhraseOfCollectMode phrase = new PhraseOfCollectMode(); PhraseOfCollectMode.Word trueword = new PhraseOfCollectMode.Word() { word = CurrentWord.translation_as_string }; phrase.Words.Add(trueword); if(CurrentWord.translation_as_string.Length > 0) { ObservableCollection<FrequencyDictionary.Item> coll = CurrentWord.Dictionary.SecondaryLanguage.FrequencyDictionary.GetRndWords(4); foreach(var elm in coll) { phrase.Words.Add(new PhraseOfCollectMode.Word() { word = elm.Lemma}); } } else throw new NotImplementedException("err"); WordsForSelection_Buttons.Clear(); phrase.StartRandomSelection(); for (int i = 0; i < phrase.Words.Count; i++) { PhraseOfCollectMode.Word word = phrase.GetNextRandom(); WordsForSelection_Buttons.Add(new ButtonModel() { Text=word.word, WordOfButton = word,IsItTrue = word == trueword}); } } }
private void AddWordsToPanel(SubtitleItem SubItem) { player.Pause(); CollectPhrases_Buttons.Clear(); if (SubItem == null) return; if (SubItem.IsCollect) { CollectedPhraseText = SubItem.Text; return; } CurrentPhrase = new PhraseOfCollectMode(SubItem); CurrentPhrase.StartRandomSelection(); for (int i = 0; i < CurrentPhrase.Words.Count; i++) { PhraseOfCollectMode.Word word = CurrentPhrase.GetNextRandom(); CollectPhrases_Buttons.Add(new ButtonModel() { WordOfButton = word,Visibility = Visibility.Visible}); } player.Play(); }