本文整理汇总了C#中System.Windows.Controls.Panel.Measure方法的典型用法代码示例。如果您正苦于以下问题:C# Panel.Measure方法的具体用法?C# Panel.Measure怎么用?C# Panel.Measure使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Controls.Panel
的用法示例。
在下文中一共展示了Panel.Measure方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetPanelDesiredWidth
/// <summary>
/// Gets the width of the panel desired.
/// </summary>
/// <param name="panel">The panel.</param>
/// <returns>Returns the desired width of the child elements.</returns>
private static double GetPanelDesiredWidth(Panel panel)
{
double desiredWidth = 0;
desiredWidth = panel.DesiredSize.Width;
if (desiredWidth == 0)
{
panel.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));
desiredWidth = panel.DesiredSize.Width;
}
return desiredWidth;
}
示例2: ApplyPointChartAnimation
/// <summary>
/// Apply animation for point chart
/// </summary>
/// <param name="pointGrid">Point chart grid</param>
/// <param name="storyboard">Stroyboard</param>
/// <param name="width">Width of the chart canvas</param>
/// <param name="height">Height of the chart canvas</param>
/// <returns>Storyboard</returns>
private static Storyboard ApplyPointChartAnimation(DataSeries currentDataSeries, Panel pointGrid, Storyboard storyboard, Double width, Double height)
{
#if WPF
if (storyboard != null && storyboard.GetValue(System.Windows.Media.Animation.Storyboard.TargetProperty) != null)
storyboard.Stop();
#else
if (storyboard != null)
storyboard.Stop();
#endif
TransformGroup group = new TransformGroup();
ScaleTransform scaleTransform = new ScaleTransform() { ScaleX = 0, ScaleY = 0, CenterX = 0.5, CenterY = 0.5 };
TranslateTransform translateTransform = new TranslateTransform() { X = 0, Y = 0 };
group.Children.Add(scaleTransform);
group.Children.Add(translateTransform);
pointGrid.RenderTransform = group;
Random rand = new Random((Int32)DateTime.Now.Ticks);
double begin = rand.NextDouble();
pointGrid.Measure(new Size(Double.MaxValue, Double.MaxValue));
DoubleCollection times = Graphics.GenerateDoubleCollection(0, 0.5, 0.75, 1);
DoubleCollection scaleValues = Graphics.GenerateDoubleCollection(0, 1, 0.5, 1);
DoubleCollection translateXValues = Graphics.GenerateDoubleCollection(pointGrid.DesiredSize.Width / 2, 0, pointGrid.DesiredSize.Width / 4, 0);
DoubleCollection translateYValues = Graphics.GenerateDoubleCollection(pointGrid.DesiredSize.Height / 2, 0, pointGrid.DesiredSize.Height / 4, 0);
List<KeySpline> splines1 = AnimationHelper.GenerateKeySplineList(new Point(0, 0.5), new Point(0.5, 1), new Point(0, 0.5), new Point(0.5, 1), new Point(0, 0.5), new Point(0.5, 1), new Point(0, 0.5), new Point(0.5, 1));
List<KeySpline> splines2 = AnimationHelper.GenerateKeySplineList(new Point(0, 0.5), new Point(0.5, 1), new Point(0, 0.5), new Point(0.5, 1), new Point(0, 0.5), new Point(0.5, 1), new Point(0, 0.5), new Point(0.5, 1));
List<KeySpline> splines3 = AnimationHelper.GenerateKeySplineList(new Point(0, 0.5), new Point(0.5, 1), new Point(0, 0.5), new Point(0.5, 1), new Point(0, 0.5), new Point(0.5, 1), new Point(0, 0.5), new Point(0.5, 1));
List<KeySpline> splines4 = AnimationHelper.GenerateKeySplineList(new Point(0, 0.5), new Point(0.5, 1), new Point(0, 0.5), new Point(0.5, 1), new Point(0, 0.5), new Point(0.5, 1), new Point(0, 0.5), new Point(0.5, 1));
DoubleAnimationUsingKeyFrames xScaleAnimation = AnimationHelper.CreateDoubleAnimation(currentDataSeries, scaleTransform, "(ScaleTransform.ScaleX)", begin + 0.5, times, scaleValues, splines1);
DoubleAnimationUsingKeyFrames yScaleAnimation = AnimationHelper.CreateDoubleAnimation(currentDataSeries, scaleTransform, "(ScaleTransform.ScaleY)", begin + 0.5, times, scaleValues, splines2);
DoubleAnimationUsingKeyFrames xTranslateAnimation = AnimationHelper.CreateDoubleAnimation(currentDataSeries, translateTransform, "(TranslateTransform.X)", begin + 0.5, times, translateXValues, splines3);
DoubleAnimationUsingKeyFrames yTranslateAnimation = AnimationHelper.CreateDoubleAnimation(currentDataSeries, translateTransform, "(TranslateTransform.Y)", begin + 0.5, times, translateYValues, splines4);
storyboard.Children.Add(xScaleAnimation);
storyboard.Children.Add(yScaleAnimation);
storyboard.Children.Add(xTranslateAnimation);
storyboard.Children.Add(yTranslateAnimation);
return storyboard;
}