Ejemplo n.º 1
0
		internal Point GetTargetPosition(ContentPresenter dobj,Item item)
		{
			Rectangle r = (Rectangle)dobj.ContentTemplate.FindName("itemRect", dobj);
			double x = (double)dobj.GetValue(Canvas.LeftProperty);
			double y = (double)dobj.GetValue(Canvas.TopProperty);
			double newx = x;
			double newy = y;
			int width = (int)r.Width;
			int height = (int)r.Height;
			if (item.State == -2)
			{
				Point pt = GetRandomPosition(dobj);
				newx = pt.X; newy = pt.Y;
			}
			int binHeight = (int)binRow.Height.Value;
			
			if (x < marg) newx = marg;
			if (x + width > Width - marg) newx = Width - marg - width;
			if (y < marg) newy = marg;
			if (y + height > Height - marg - bottomMargin) newy = Height - marg - height - bottomMargin;
			if (item.State == 0)
			{
				if (y < binHeight + marg) newy = binHeight + marg;
			}
			else
			{
                if (item.State !=-2)
                {
                    if (y + height > binHeight - marg) newy = binHeight - marg - height;
                    if (item.State == 1)
                    {
                        if (x + width > Width / 2 - marg) newx = Width / 2 - marg - width;
                    }
                    else
                    {
                        if (x < marg + Width / 2) newx = Width / 2 + marg;
                    }
                }
			}
			if ((item.State == 0) && (item.probTrue >= 0))
			{
				newx = marg + Squash(Squash(1-item.probTrue)) * (Width - width - marg * 2);
			}
			return new Point(newx, newy);
		}
Ejemplo n.º 2
0
 public static bool GetIsCenter(ContentPresenter element)
 {
     return (bool)element.GetValue(IsCenterProperty);
 }
Ejemplo n.º 3
0
        protected override void OnTransitionEnded(TransitionPresenter transitionElement, ContentPresenter oldContent, ContentPresenter newContent)
        {
            Storyboard oldStoryboard = (Storyboard)oldContent.GetValue(OldContentStoryboardProperty);
            if (oldStoryboard != null)
                oldStoryboard.Stop(oldContent);
            oldContent.ClearValue(ContentPresenter.StyleProperty);

            Storyboard newStoryboard = (Storyboard)newContent.GetValue(NewContentStoryboardProperty);
            if (newStoryboard != null)
                newStoryboard.Stop(newContent);
            newContent.ClearValue(ContentPresenter.StyleProperty);
        }
 public static object GetRefreshTriggerBinding(ContentPresenter element)
 {
     return (object)element.GetValue(RefreshTriggerBindingProperty);
 }