1

私は11月11日のSilverlightツールキットを使用しており、基本的なトランジションをコピーして貼り付けただけで、多くの作業を行わずにアプリに少しスパイスを加えることができます。私はこのコードを参照しています:

<!--some really simple basic navigation animations to get us started-->
<toolkit:TransitionService.NavigationInTransition>
    <toolkit:NavigationInTransition>
        <toolkit:NavigationInTransition.Backward>
            <toolkit:TurnstileTransition Mode="BackwardIn"/>
        </toolkit:NavigationInTransition.Backward>
        <toolkit:NavigationInTransition.Forward>
            <toolkit:TurnstileTransition Mode="ForwardIn"/>
        </toolkit:NavigationInTransition.Forward>
    </toolkit:NavigationInTransition>
</toolkit:TransitionService.NavigationInTransition>
<toolkit:TransitionService.NavigationOutTransition>
    <toolkit:NavigationOutTransition>
        <toolkit:NavigationOutTransition.Backward>
            <toolkit:TurnstileTransition Mode="BackwardOut"/>
        </toolkit:NavigationOutTransition.Backward>
        <toolkit:NavigationOutTransition.Forward>
            <toolkit:TurnstileTransition Mode="ForwardOut"/>
        </toolkit:NavigationOutTransition.Forward>
    </toolkit:NavigationOutTransition>
</toolkit:TransitionService.NavigationOutTransition>

これは、トゥームストーンされた後にアプリケーションを再アクティブ化する場合を除いて、うまく機能します。遷移が途中で停止しているようです。アプリケーションは応答性を維持しますが、完全に混乱しているように見えます。このような:

このスクリーンショット

誰かがこれを解決する方法を知っていますか?ビューモデルと関係があり、移行中にデータが入力されると思います...その場合、移行が完了したときにサブスクライブできるイベントはありますか?次に、ビューモデルでプロパティ変更イベントの抑制を解除できます。しかし、移行は、アプリ内を移動しているときに完全に機能するため、おそらくそうではありません。

どんなアイデアでも大歓迎です。

4

1 に答える 1

1

このコードを試してください: http://blog.rsuter.com/?p=74

で複数のトランジションを定義できますApp.xaml

<Application.Resources>
    <ResourceDictionary>
        <Style x:Key="Transition" TargetType="phone:PhoneApplicationPage">
            ...
        </Style>
        <Style x:Key="Transition2" TargetType="phone:PhoneApplicationPage">
            ...
        </Style>
        <Style x:Key="Transition3" TargetType="phone:PhoneApplicationPage">
            ...
        </Style>
    </ResourceDictionary>
</Application.Resources>

そして、各ページのトランジションを設定します:

1ページ目:

<phone:PhoneApplicationPage ... Style="{StaticResource Transition}">

2ページ目:

<phone:PhoneApplicationPage ... Style="{StaticResource Transition2}">

3 ページ目:

<phone:PhoneApplicationPage ... Style="{StaticResource Transition3}">

リソース宣言をページに移動しようとしましたか?

このようなもの:

<phone:PhoneApplicationPage x:Name="MyPage">
    <phone:PhoneApplicationPage.Resources>
        <Style x:Key="LocalTransition">
            ...
        </Style>
    </phone:PhoneApplicationPage.Resources>
</phone:PhoneApplicationPage>

C# コード ビハインド:

public class MyPage
{
    public MyPage()
    {
        InitializeComponent();
        Style = (Style)Resources["LocalTransition"];
    }
}
于 2012-04-19T12:46:26.877 に答える