Я пытаюсь реализовать элемент управления FlipView в приложении UWP для Win10, но, похоже, я не могу анимировать переход между открытым и закрытым состояниями, как в приложении для календаря Windows 10. Если я посмотрю на стиль по умолчанию для SplitView, кажется, что размер панели изменяется путем анимации свойства Width для ColumnDefinition. Это свойство нельзя анимировать, используя анимацию по умолчанию, предоставляемую инфраструктурой. Любая помощь будет оценена по достоинству.Win10 SplitView Animation
1
A
ответ
2
В DefaultStyle найдите ClosedCompactLeft визуальное состояние. Затем измените значение Продолжительность для анимации на PaneClipRectangleTransform. Посмотрите на эту анимацию (которая является один будет изменено):
<DoubleAnimation Storyboard.TargetName="PaneClipRectangleTransform"
Storyboard.TargetProperty="TranslateX"
To="{Binding TemplateSettings.NegativeOpenPaneLengthMinusCompactLength, RelativeSource={RelativeSource Mode=TemplatedParent}}"
Duration="0:0:0.0" />
1
Вы можете определить Storyboard
внутри VisualState
. Если срабатывает триггер, история начнется автоматически.
Пример структуры кода:
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState>
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="0" />
</VisualState.StateTriggers>
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="Drawer">
<SplineDoubleKeyFrame KeyTime="0" Value="0"/>
<EasingDoubleKeyFrame KeyTime="0:0:0.3" Value="-260">
<EasingDoubleKeyFrame.EasingFunction>
<CircleEase EasingMode="EaseOut"/>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState>
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="1020" />
</VisualState.StateTriggers>
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="Drawer">
<EasingDoubleKeyFrame KeyTime="0" Value="-260"/>
<EasingDoubleKeyFrame KeyTime="0:0:0.3" Value="0">
<EasingDoubleKeyFrame.EasingFunction>
<CircleEase EasingMode="EaseOut"/>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
Если вы используете SplitView, вы можете закодировать класс, который расширяет SplitView и пользовательские это стиль, который делает вас получить Pane
и Content
в вашем коде и, таким образом, вам может анимировать их самостоятельно.
Смежные вопросы
- 1. Двойной splitview
- 2. SplitView - iPad
- 3. ipad - splitview
- 4. Как добавить SplitView в SplitView в Android (Multi-View отливы)
- 5. Win10 scrapy install
- 6. C# Rectangle.Contains Win10 error
- 7. Theano Win10 & cuDNN?
- 8. Win10 поддерживает selenium3.0.1?
- 9. Перезагрузка SplitView в iPad
- 10. MMDrawerController with splitview
- 11. Добавление ListviewItem в Splitview
- 12. SplitView In Grid
- 13. Изменение ориентации SplitView
- 14. Ошибка с SplitView
- 15. Многоразовая панель SplitView?
- 16. Наложение меню контроллера SplitView
- 17. Ширина UISegmentedControl в SplitView
- 18. Popover с Splitview внутри
- 19. Сепаратор в SplitView панели
- 20. Навигация - SplitView или Pivot
- 21. UWP: две панели Splitview
- 22. IPad SplitView TableViewController width
- 23. Onsen splitView обратный вызов
- 24. ImageView Segue to SplitView
- 25. Caliburn.micro, SplitView и навигация
- 26. WebAuthenticationBroker в режиме планшета Win10
- 27. Терминал RubyMine не работает Win10
- 28. Проверка правописания в Win10 - Slow
- 29. XAMPP «MySQL shutdown неожиданно» Win10
Это не похоже на то, что я ожидал. Левая панель теперь активируется при закрытии, но при открытии она не открывается. Кроме того, правая (большая) панель вообще не анимируется, она просто скользит под закрывающей панелью (это можно увидеть при применении большой продолжительности к DoubleAnimation, указанной в ответе). –
Я тоже пытался играть с этим управлением, к сожалению, он очень ограничен при попытке оживить переходы при использовании встроенного меню. На данный момент я также не увенчался успехом: / – Maximus