Hi I am trying to change a bool value in a WhileEdgeSwiped with delay but everytime the delay value dont work!
I am trying something like that:
<ScrollViewer ux:Name="MyScrollViewer" IsEnabled="false">
...
</ScrollViewer>
<WhileEdgeSwiped>
<Change Target="MyScrollViewer.IsEnabled" Value="true" Delay="5" />
</WhileEdgeSwiped>
I also try with Set but nothing!
WhileEdgeSwiped
belongs to a special class of Animation
triggers where a Delay
doesn’t work. This is because the progress of this animator is tied to the progress of the edge swipe itself: it has no duration of its own. There is a plan to possibly introduce a progress based delay, but if you want an actual time delay it won’t help you.
_
Chances are you’ll want to use the EdgeNavigator
instead, as it’s a bit higher level and takes care of a few more details for you.
Can you describe more fully what you are trying to achieve and I can better direct you to the APIs that fit best.
_
we recently renamed this class but forgot this one. I’ll likely rename it to EdgeSwipeAnimation
.
Thanks! I have a ScrollViewer that is hide in the bottom of the app. When I swipe in the bottom edge the scrollViewer appear with a fadein from the bottom. The problem is that sometimes the scrollViewer start to scroll with the swipe gesture. To solve that I want to set the variable IsEnabled of the scrollViewer to false and change it 2 second later to true (After the scrollViewer fade In).
How works the EdgeSwipeAnimation? There is any example?
Thanks!!!
Do you mean you have a panel hidden at the bottom that when swiped should come into view? Inside that panel you have a scrollviewer, and are hoping that the scrollviewer does not swipe until the panel actually comes into view?
Unfortunately I we don’t have the example for the edge navigation stuff posted yet. Here’s a simple one with a left panel though:
<App Theme="Basic" ux:Class="MyApp" ClearColor="0,0,0,1"> <EdgeNavigator>
<!-- Add a panel handled by the EdgeNavigator -->
<Panel Width="150" EdgeNavigation.Edge="Left">
<Rectangle>
<SolidColor Color="#f00" ux:Name="Red" />
</Rectangle>
<ActivatingAnimation>
<Change Target="Red.Color" Value="#fff" />
</ActivatingAnimation>
</Panel>
<!-- This is the background -->
<Image StretchMode="UniformToFill" File="back.jpg"/>
</EdgeNavigator></App>
Thanks for the example!
Yes, that’s what I meant! It is posible to block the scroll of the scrollViewer until the panel comes into view with WhileEdgeSwiped?
Thanks for the example!
Yes, that’s what I meant! It is posible to block the scroll of the scrollViewer until the panel comes into view with WhileEdgeSwiped?
In most cases this is just supposed to work, but for now you can add a WhileActive
trigger to the bottom panel. Use this to enable the ScrollViewer, which you disable by default. The trigger will only take effect when the panel is fully revealed…
…and I recalled you don’t have WhileActive
yet. It should be in the next release.
Its posible to expand the area of the edge in the EdgeNavigation.Edge?