本文整理汇总了C#中Transition.InvokeBeginTransition方法的典型用法代码示例。如果您正苦于以下问题:C# Transition.InvokeBeginTransition方法的具体用法?C# Transition.InvokeBeginTransition怎么用?C# Transition.InvokeBeginTransition使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Transition
的用法示例。
在下文中一共展示了Transition.InvokeBeginTransition方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: _beginAnimatedSelfTransition
// begins an animated self transition
private void _beginAnimatedSelfTransition(Transition transition, Action onComplete) {
InTransition = true;
CoerceValue(ClipToBoundsProperty);
_transitionData = new TransitionEventArgs(TransitionPanel.TransitionStartedEvent, this) {
Bounds = RenderSize,
OldContent = FrontLayer.Content,
NewContent = FrontLayer.Content,
Transition = transition
};
_transitionData.BackSnapshot = _selfTransitionSnapshot;
_transitionData.FrontSnapshot = _captureSnapshot(FrontLayer, true);
_transitionData.OnCompleteCallback = () => {
_onCompleteAnimatedTransition(_transitionData);
if (onComplete != null) onComplete();
};
RaiseEvent(_transitionData);
transition.InvokeBeginTransition(_transitionData);
}
示例2: _beginAnimatedTransition
// begins an animated transition
private void _beginAnimatedTransition(Transition transition, Action onComplete) {
// swap the front and back layers (without adding and removing them from the visual tree to avoid superfluous loaded/unloaded events)
_flipLayers = !_flipLayers;
// set the front layer's content
FrontLayer.Content = Content;
FrontLayer.ContentTemplate = ContentTemplate;
FrontLayer.ContentTemplateSelector = ContentTemplateSelector;
// start the transition from back layer to front layer
InTransition = true;
CoerceValue(ClipToBoundsProperty);
_transitionData = new TransitionEventArgs(TransitionPanel.TransitionStartedEvent, this) {
Bounds = RenderSize,
OldContent = BackLayer.Content,
NewContent = FrontLayer.Content,
Transition = transition
};
_transitionData.OnCompleteCallback = () => {
_onCompleteAnimatedTransition(_transitionData);
if (onComplete != null) onComplete();
};
Action invokeTransition = () => {
_transitionData.BackSnapshot = _captureSnapshot(BackLayer, true);
_transitionData.FrontSnapshot = _captureSnapshot(FrontLayer, true);
transition.InvokeBeginTransition(_transitionData);
};
RaiseEvent(_transitionData);
if ((Content is DependencyObject) && GetHasNestedTransitionPanel((DependencyObject)Content)) {
// if content has a nested transition panel, use a timer to allow the nested transition panel to draw its initial state before the
// enclosing transition is started to avoid seeing a blank panel during the transition
var timer = new GuiTimer(DispatcherPriority.Background);
timer.Start(t => invokeTransition());
} else {
invokeTransition();
}
}