Ejemplo n.º 1
0
        /// <summary>
        /// Colors then rebuilds the string that is displayed in the RichTextBox.
        /// </summary>
        public void ColorDisplayText(CalculatorResultsViewModel calcResultsVM)
        {
            DisplayRichTextBox.Document.Blocks.Clear();
            var profitPercentage       = calcResultsVM.ProfitPercentage;
            var profitPercentageString = profitPercentage.ToString() + "%";
            var displayText            = calcResultsVM.DisplayText;

            string[] splitter = displayText.Split(new string[] { profitPercentageString }, StringSplitOptions.None);

            if (splitter.Count() == 2)
            {
                AppendText(DisplayRichTextBox, splitter[0], Brushes.Black);

                if (profitPercentage < 0)
                {
                    AppendText(DisplayRichTextBox, profitPercentageString, (FindResource("NegativeLossBrush") as SolidColorBrush));
                }
                else if (profitPercentage > 0)
                {
                    AppendText(DisplayRichTextBox, profitPercentageString, (FindResource("PositiveGainBrush") as SolidColorBrush));
                }
                else
                {
                    AppendText(DisplayRichTextBox, profitPercentageString, Brushes.Black);
                }

                AppendText(DisplayRichTextBox, splitter[1], Brushes.Black);
                DisplayRichTextBox.Document.TextAlignment = TextAlignment.Center;
            }
            else
            {
                AppendText(DisplayRichTextBox, displayText, Brushes.Black);
                DisplayRichTextBox.Document.TextAlignment = TextAlignment.Center;
            }
        }
Ejemplo n.º 2
0
        private void Instance_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            CalculatorResultsViewModel calcResultsVM = sender as CalculatorResultsViewModel;

            if (calcResultsVM == null)
            {
                return;
            }

            if (e.PropertyName == "DisplayText")
            {
                ColorDisplayText(calcResultsVM);
            }
        }
Ejemplo n.º 3
0
 public Processor(CalculatorResultsViewModel calcResultsVM)
 {
     _calcResultsVM = calcResultsVM;
 }