/// <summary>
        /// Applies the text box view margin.
        /// </summary>
        /// <param name="textBox">The text box.</param>
        /// <param name="margin">The margin.</param>
        private static void ApplyTextBoxViewMargin(Control textBox, Thickness margin)
        {
            if (margin.Equals(new Thickness(double.NegativeInfinity)))
            {
                return;
            }

            var frameworkElement = (textBox.Template.FindName("PART_ContentHost", textBox) as ScrollViewer)?.Content as FrameworkElement;
            if (frameworkElement != null)
            {
                frameworkElement.Margin = margin;
            }
        }
Exemple #2
0
		public void NaN ()
		{
			Thickness t1 = new Thickness (Double.NaN);
			Assert.IsFalse (t1.Equals (t1), "NaN-1");

			Assert.IsTrue (Double.IsNaN (t1.Left), "Left");
			Assert.IsTrue (Double.IsNaN (t1.Top), "Top");
			Assert.IsTrue (Double.IsNaN (t1.Right), "Right");
			Assert.IsTrue (Double.IsNaN (t1.Bottom), "Bottom");

			Thickness t2 = new Thickness (Double.NaN);
			Assert.IsFalse (t1.Equals (t2), "NaN-2");
			Assert.IsFalse (t1 == t2, "NaN-3");
			Assert.IsTrue (t1 != t2, "NaN-4");
		}
Exemple #3
0
		public void SpecialCases ()
		{
			Thickness t = new Thickness (Double.MinValue);
			Assert.AreEqual ("-1.79769313486232E+308,-1.79769313486232E+308,-1.79769313486232E+308,-1.79769313486232E+308", t.ToString (), "MinValue");

			t = new Thickness (Double.MaxValue);
			Assert.AreEqual ("1.79769313486232E+308,1.79769313486232E+308,1.79769313486232E+308,1.79769313486232E+308", t.ToString (), "MaxValue");

			t = new Thickness(Double.NegativeInfinity);
			Assert.AreEqual ("-Infinity,-Infinity,-Infinity,-Infinity", t.ToString (), "-Infinity");

			t = new Thickness(Double.PositiveInfinity);
			Assert.AreEqual ("Infinity,Infinity,Infinity,Infinity", t.ToString (), "Infinity");

			t = new Thickness (Double.NaN);
			Assert.AreEqual ("Auto,Auto,Auto,Auto", t.ToString ());

			t = new Thickness (Double.MinValue, Double.MaxValue, Double.NegativeInfinity, Double.PositiveInfinity);
			Assert.AreEqual ("-1.79769313486232E+308,1.79769313486232E+308,-Infinity,Infinity", t.ToString (), "Mix");
			Assert.IsTrue (t.Equals (t), "Mix.Equals");

			t.Bottom = Double.NaN;
			Assert.IsFalse (t.Equals (t), "MixNaN.Equals");
		}
        /// <summary>
        /// Applies the text box view margin.
        /// </summary>
        /// <param name="textBox">The text box.</param>
        /// <param name="margin">The margin.</param>
        private static void ApplyTextBoxViewMargin(Control textBox, Thickness margin)
        {
            if (margin.Equals(new Thickness(double.NegativeInfinity)))
            {
                return;
            }

            var scrollViewer = textBox.Template.FindName("PART_ContentHost", textBox) as ScrollViewer;
            if (scrollViewer == null)
            {
                return;
            }

            var frameworkElement = scrollViewer.Content as FrameworkElement;

            // remove nice new sytax until i get appveyor working
            // var frameworkElement = (textBox.Template.FindName("PART_ContentHost", textBox) as ScrollViewer)?.Content as FrameworkElement;
            if (frameworkElement != null)
            {
                frameworkElement.Margin = margin;
            }
        }
 /// <summary>
 /// Writes the attribute.
 /// </summary>
 /// <param name="name">The name.</param>
 /// <param name="value">The value.</param>
 /// <param name="defaultValue">The default value.</param>
 protected void WriteAttribute(string name, Thickness value, Thickness defaultValue)
 {
     if (this.settings.WriteDefaultValues || !value.Equals(defaultValue)) {
         this.writer.WriteAttributeString(name, value.Format());
     }
 }