【问题标题】:how to start animation using "caliburn micro 2" and "windows phone 8.1"如何使用“caliburn micro 2”和“windows phone 8.1”启动动画
【发布时间】:2014-11-10 05:25:54
【问题描述】:

我正在使用 caliburn micro v2windows phone 开发一款游戏。

我想在棋盘上放一块石头时开始动画。

我想知道当视图模型中发生石头改变事件时如何启动动画/故事板。 我更喜欢将 xaml 放在石头样式中,因为棋盘上的石头数量。

【问题讨论】:

    标签: storyboard windows-phone-8.1 caliburn.micro


    【解决方案1】:

    您不应按照建议从视图模型中调用情节提要。这个故事是特定于视图的,您将删除代码的可测试性和可移植性。

    您的问题不是很具体,并且没有代码示例,因此不太容易提供帮助,但请考虑使用触发器来启动您的故事板。这样一来,您就可以将所有内容尽收眼底。

    如果您在视图模型中有一个属性,您可以使用数据触发器在故事板更改值时启动它。也许类似的东西

    进口:

      xmlns:interactivity="using:Microsoft.Xaml.Interactivity"
      xmlns:core="using:Microsoft.Xaml.Interactions.Core"
    

    例子:

    <interactivity:Interaction.Behaviors>
            <core:DataTriggerBehavior Binding="{Binding LoginPageIsEnabled}"
                                   ComparisonCondition="Equal" Value="False">
                <core:GoToStateAction StateName="Loading" />
            </core:DataTriggerBehavior>
            <core:DataTriggerBehavior Binding="{Binding LoginPageIsEnabled}"
                                   ComparisonCondition="Equal" Value="True">
                 <core:GoToStateAction StateName="DoneLoading" />
            </core:DataTriggerBehavior>
    </interactivity:Interaction.Behaviors>
    

    【讨论】:

    • 感谢您的回复。这就是我想做的。除了 DataTrigger 在 windows phone 8.1 上不起作用。 DataTrigger 仅在 Wpf 中工作。
    • 我编辑了我的答案,以便它使用 wp8.1 中支持的数据触发器。起初我也遇到了问题,微软删除了数据触发器,但你可以使用 DataTriggerBehavior。
    • 如果这有帮助,请标记为已回答,或者让我知道问题所在
    • 我有一个 silverlite 应用程序。而你的解决方案没有奏效。所以我将应用程序更改为标准手机 8.1 应用程序。在那次更改之后,我的 GUI 出现了问题。所以现在我正在寻找 Silverlight 8.1 应用程序的解决方案。
    【解决方案2】:

    我以前从未做过 windows phone 应用程序。但我在 wpf 应用程序中使用以下代码

    如果您的样式是在 App.xaml 的资源中定义的,则可以使用此代码

    代码如下:

    FrameworkElement element = new FrameworkElement();
    Storyboard sb=new Storyboard ();
    sb = element.FindResource("Please write here Storyboard Key") as Storyboard;
    sb.Begin(target element name , true);
    

    请查看此链接:How can I add a storyboard animation to my page resources in C#, then call it again later? 我希望它对您的业务有所帮助。

    【讨论】:

    • 我明白了。请看看这个网站。有几个 windows phone 动画示例。也许对您的业务有好处。 msdn.microsoft.com/en-us/library/windows/apps/…
    • MLE,感谢您的回复。我正在寻找的是 xaml 中的解决方案。绑定到视图模型。在 WPF 中,我会使用 DataTrigger 执行此操作,但在 Windows Phone 8.1 中不支持此操作。
    猜你喜欢
    • 2014-09-07
    • 1970-01-01
    • 1970-01-01
    • 2017-08-02
    • 2014-10-28
    • 2017-06-14
    • 2016-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多