本文整理汇总了C#中ScatterViewItem.SetRelativeZIndex方法的典型用法代码示例。如果您正苦于以下问题:C# ScatterViewItem.SetRelativeZIndex方法的具体用法?C# ScatterViewItem.SetRelativeZIndex怎么用?C# ScatterViewItem.SetRelativeZIndex使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ScatterViewItem
的用法示例。
在下文中一共展示了ScatterViewItem.SetRelativeZIndex方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OnJoinAnimationCompleted
//---------------------------------------------------------//
/// <summary>
/// Called when an join animation is completed.
/// </summary>
/// <param name="pieceBeingRemoved">The item that should be removed after the join.</param>
/// <param name="pieceRemaining">The item that will remain after the join.</param>
private void OnJoinAnimationCompleted(ScatterViewItem pieceBeingRemoved, ScatterViewItem pieceRemaining)
{
if (scatter.Items.Contains(pieceBeingRemoved) && scatter.Items.Contains(pieceRemaining))
{
// Get the content for the joined piece
PuzzlePiece joinedPiece = puzzleManager.JoinPieces((PuzzlePiece)pieceBeingRemoved.Content, (PuzzlePiece)pieceRemaining.Content);
// When size changes, center also must be adjusted so the piece doesn't jump
Vector centerAdjustment = puzzleManager.CalculateJoinCenterAdjustment((PuzzlePiece)pieceRemaining.Content, joinedPiece);
centerAdjustment = PuzzleManager.Rotate(centerAdjustment, pieceRemaining.ActualOrientation);
// Replace the item's content with the new group
pieceRemaining.Content = joinedPiece;
// Resize the item to the size of the piece
pieceRemaining.Width = Math.Round(joinedPiece.ClipShape.Bounds.Width, 0);
pieceRemaining.Height = Math.Round(joinedPiece.ClipShape.Bounds.Height, 0);
// Adjust the center
pieceRemaining.Center = pieceRemaining.ActualCenter + centerAdjustment;
// Bind the item to the new piece
Binding binding = new Binding();
binding.Source = joinedPiece;
pieceRemaining.SetBinding(ScatterViewItem.DataContextProperty, binding);
pieceRemaining.SetRelativeZIndex(RelativeScatterViewZIndex.AboveInactiveItems);
// Remove the old item from the ScatterView
scatter.Items.Remove(pieceBeingRemoved);
// Set this to false before StartJoinIfPossible. If there is another join, JoinPieces will set joinInProgress to true,
// and then it will immediately be set back when StartJoinIfPossible returns.
joinInProgress = false;
// See if there are any other pieces eligible to join to the newly joined piece
StartJoinIfPossible(pieceRemaining);
}
else
{
// Still want to set this to false, even if no join was performed
joinInProgress = false;
}
}