本文整理汇总了C#中System.Windows.Shapes.Ellipse.TransformToVisual方法的典型用法代码示例。如果您正苦于以下问题:C# Ellipse.TransformToVisual方法的具体用法?C# Ellipse.TransformToVisual怎么用?C# Ellipse.TransformToVisual使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Shapes.Ellipse
的用法示例。
在下文中一共展示了Ellipse.TransformToVisual方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TestHeaderAlignmentOfExpander
public void TestHeaderAlignmentOfExpander()
{
Expander exp = DefaultExpanderToTest;
exp.Width = 400;
exp.Height = 300;
exp.HorizontalContentAlignment = HorizontalAlignment.Center;
exp.Padding = new Thickness(0.0);
Ellipse elps = new Ellipse();
Point pt = new Point();
TestAsync(
exp,
() => elps = (Ellipse)TestExtensions.GetChildrenByType(exp, typeof(Ellipse)),
() => pt = elps.TransformToVisual(exp).Transform(new Point(0, 0)),
() => Assert.IsTrue(pt.X < 5), //// Make sure the ellipse of header/toggle button is at the top left corner of expander.
() => Assert.IsTrue(pt.Y < 5)); //// The pixel difference is less than 5.
}
示例2: TestAlignmentOfToggleButtonToExpanderHeader
public void TestAlignmentOfToggleButtonToExpanderHeader()
{
Expander exp = DefaultExpanderToTest;
exp.Width = 200;
exp.Header = "Header of Expander";
exp.ExpandDirection = ExpandDirection.Left;
exp.Padding = new Thickness(0.0);
ToggleButton tgbn = new ToggleButton();
Ellipse elps = new Ellipse();
Point pt = new Point();
TestAsync(
exp,
() => tgbn = (ToggleButton)TestExtensions.GetChildrenByType(exp, typeof(ToggleButton)),
() => elps = (Ellipse)TestExtensions.GetChildrenByType(exp, typeof(Ellipse)),
() => pt = elps.TransformToVisual(tgbn).Transform(new Point(0, 0)),
() => Assert.IsTrue(TestExtensions.AreClose(tgbn.ActualWidth / 2, pt.X - elps.ActualWidth / 2)));
}
示例3: IsPointInsideEllipseShape
private bool IsPointInsideEllipseShape(Ellipse ellipseToUse, Point point)
{
EllipseGeometry ellipse = new EllipseGeometry();
ellipse.RadiusX = ellipseToUse.RenderSize.Width / 2;
ellipse.RadiusY = ellipseToUse.RenderSize.Height / 2;
// Get absolute position of the ellipse inside parent control
//Point absolutePosition = ellipse.Transform.Transform(new Point(0, 0));
var transform = ellipseToUse.TransformToVisual(this);
Point absolutePosition = transform.Transform(new Point(0, 0));
ellipse.Center = new Point(absolutePosition.X + ellipse.RadiusX,
absolutePosition.Y + ellipse.RadiusY);
if (ellipse.Bounds.Contains(point))
{
double xPositionInsideBounds = point.X - absolutePosition.X;
double yPositionInsideBounds = point.Y - absolutePosition.Y;
if (PointInsideEllipse(xPositionInsideBounds, ellipse.RadiusX, yPositionInsideBounds, ellipse.RadiusY))
{
return true;
}
}
return false;
}