/// <summary>
            /// Returns font size for text boxes of Main Window.
            /// </summary>
            internal double Match_Font_To_TextBox()
            {
                double default_FontSize = _TextBox.ActualHeight / 1.5;

                _TextBox.VerticalScrollBarVisibility = ScrollBarVisibility.Auto;

                Formatted_Text_Getter Formatted_Text = new Formatted_Text_Getter(_TextBox, default_FontSize);

                double actual_Size_Of_Text_Space = _TextBox.ActualWidth - 16;

                if (Formatted_Text.Get_Text_Width < actual_Size_Of_Text_Space)
                {
                    _TextBox.TextWrapping = TextWrapping.NoWrap;
                    return(Return_Non_Less_Than(default_FontSize));
                }
                else
                {
                    double wraped_FontSize = Matching_Font_To_TextBox();

                    double rescaled_FontSize = default_FontSize * (actual_Size_Of_Text_Space / Formatted_Text.Get_Text_Width);

                    if (wraped_FontSize > rescaled_FontSize)
                    {
                        _TextBox.TextWrapping = TextWrapping.Wrap;
                        _TextBox.MaxLines     = wrap_Factor;
                        return(Return_Non_Less_Than(wraped_FontSize));
                    }
                    else
                    {
                        _TextBox.TextWrapping = TextWrapping.NoWrap;
                        return(Return_Non_Less_Than(rescaled_FontSize));
                    }
                }
            }
Esempio n. 2
0
        /// <summary>
        /// Sets size of images in comboboxes according to currently setted font size.
        /// </summary>
        private double Set_ComboBox_List_Image_Size()
        {
            Formatted_Text_Getter formatted_Text =
                new Formatted_Text_Getter(new TextBlock()
            {
                Text = "Xyz"
            },
                                          Text_FontSize);

            return(formatted_Text.Get_Text_Height);
        }
Esempio n. 3
0
            /// <summary>
            /// Returns font size for text of radio buttons in calculation type switcher based on actual window size.
            /// </summary>
            internal double Match_Font_To_TextBlock()
            {
                double default_FontSize = MainWindow.Get_CalculationTypeSwitcher_Grid.ActualHeight / 3;

                Formatted_Text_Getter Formatted_Text =
                    new Formatted_Text_Getter(MainWindow.Get_ComplexCalculations_TextBlock, default_FontSize);
                FormattedText formatted_Text =
                    Get_Default_Formatted_Text(MainWindow.Get_ComplexCalculations_TextBlock, default_FontSize);

                double actual_Size_Of_Text_Space =
                    (MainWindow.Get_CalculationTypeSwitcher_Grid.ActualWidth * RadioButton_Text_Part_Of_Total_Width) /
                    Formatted_Text.Get_Text_Width;

                if (actual_Size_Of_Text_Space > 1)
                {
                    return(default_FontSize);
                }
                else
                {
                    return(default_FontSize * actual_Size_Of_Text_Space);
                }
            }