public LexiconPage(Logic.Langer l)
        {
            Langer = l;
            InitializeComponent();

            WordTypeCB.ItemsSource   = Langer.WordTypes;
            WordTypeCB.SelectedIndex = 1;
        }
        public LanguagePage(Logic.Langer langer)
        {
            Langer = langer ?? throw new Exception("No langer");
            InitializeComponent();
            CurrentLanguageLabel.Content = Langer.LanguageName;

            //Subscribe to this event so things update.
            Langer.ChangedLanguages += ListenForLanguageChange;
        }
        public WordTypePage(Logic.Langer L)
        {
            Langer = L;
            InitializeComponent();


            try
            {
                WordTypesList.ItemsSource = Langer.WordTypes;
                Langer.ChangedWordTypes  += UpdateOnWordTypeChange;
            }
            catch
            {
                //I mean just dont crash.
                //TODO: Log Error.
            }
        }
 public PhoneticPage(Logic.Langer langer)
 {
     Langer = langer;
     InitializeComponent();
     try
     {
         Langer.AddPhoneme("test", "test", 1, "C");
     }
     catch (Logic.NoLanguageException e)
     {
         //TODO: this should honestly be removed when your done in this section.
     }
     try
     {
         PhonemeList.ItemsSource = Langer.Phonemes;
         Langer.ChangedPhonemes += UpdateOnPhonemeChange;
     }
     catch
     {
         //I mean just dont crash.
         //TODO: Log Error.
     }
 }