private void SelectText(object sender, MouseEventArgs e) { var shiftWasPressed = Keyboard.IsKeyDown(Key.LeftShift) || Keyboard.IsKeyDown(Key.RightShift); if (!(e.LeftButton == MouseButtonState.Pressed || e.RightButton == MouseButtonState.Pressed)) { return; } CodePointVM codePointVM = null; WordVM wordVM = null; string text = string.Join("", Lines.SelectMany(line => line.Words.Select(word => word.StringForm))); var clickedPoint = e.GetPosition(null); var clickedLetter = FindAncestor <TextBlock>((DependencyObject)e.OriginalSource); if (clickedLetter == null) { return; } var clickedWordPanel = FindAncestor <StackPanel>(clickedLetter); var resources = Application.Current.Resources; if (clickedLetter != previousClickedLetter && clickedLetter.Text.Trim() != "") { if (previousClickedLetter != null) { previousClickedLetter.Background = Brushes.Transparent; } clickedLetter.Background = (Brush)resources["SelectedLetterBrush"]; if (clickedWordPanel != previousClickedWord) { if (previousClickedWord != null) { previousClickedWord.Background = Brushes.Transparent; } clickedWordPanel.Background = (Brush)resources["SelectedWordBrush"]; previousClickedWord = clickedWordPanel; wordVM = (WordVM)clickedWordPanel.DataContext; } previousClickedLetter = clickedLetter; codePointVM = (CodePointVM)clickedLetter.DataContext; SetCurrentValue(SelectionInfoProperty, SelectionInfo == null ? new SelectionInfoVM(codePointVM, wordVM, AllText) : SelectionInfo.Clone(codePointVM, wordVM)); } }
public async Task <IActionResult> Index() { var word = await _context.Words .OrderBy(r => Guid.NewGuid()).Take(1).SingleOrDefaultAsync(); if (word == null) { return(RedirectToAction("Create", "Words")); } var examples = await _context.Examples.Where(e => e.WordID == word.ID).ToListAsync(); var wordVM = new WordVM(); wordVM.Word = word; wordVM.Word.Examples = examples; return(View(wordVM)); }
public Words(MainWindow main, long CategoryID) { DataContext = new WordVM(main, CategoryID); InitializeComponent(); }