예제 #1
0
        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));
            }
        }
예제 #2
0
        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));
        }
예제 #3
0
파일: Words.xaml.cs 프로젝트: elanaliev/SEW
 public Words(MainWindow main, long CategoryID)
 {
     DataContext = new WordVM(main, CategoryID);
     InitializeComponent();
 }