【问题标题】:How to create slide show in Uno WASM?如何在 Uno WASM 中创建幻灯片放映?
【发布时间】:2021-10-10 14:57:25
【问题描述】:

我正在尝试在我的 Uno 应用程序中创建一个简单的幻灯片。我在 UWP 中工作,但在 WASM 中失败。我的代码如下所示:

public void SlideShowPageLoaded(object sender, RoutedEventArgs args)
{          
    vm.URL = vm.SlideList[CurrentIndex].URL;
    timer = new DispatcherTimer();
    timer.Tick += dispatcherTimer_Tick;
    timer.Interval = new TimeSpan(0, 0, this.Interval);
    timer.Start();
} 

private void dispatcherTimer_Tick(object sender, object e)
{
    this.GetNextIndex();
    try
    {
        vm.URL = vm.SlideList[CurrentIndex].URL;
    }
    catch (Exception ex)
    {
        Debug.WriteLine(ex.Message);
    }            
}

当页面加载时,我为我的图像设置 URL,然后创建一个 DispatchTimer。 Tick 事件只是更改 URL。图像 xaml 看起来像:

<Image x:Name="imageControl" Source="{Binding URL, Mode=OneWay}" />  

这在 UWP 中运行良好,在 WASM 中没有任何反应。我猜不支持 DispatchTimer?我可以使用其他选项吗?

【问题讨论】:

  • 没有直接回答你的问题,但你考虑过 FlipView 吗?
  • 不确定翻转视图如何替代幻灯片放映。此外,我已经在 wasm 应用程序的其他地方尝试过翻转视图。它没有用。

标签: uwp webassembly uno-platform


【解决方案1】:

问题解决了。我最初提供的信息不完整。 SlideShowPage 由 Frame.Navigate 创建。在 UWP 工作的 UWP 实现中,首先调用 OnNavigateTo 事件,然后调用 SlideShowPageLoaded。在 WASM 上,SlideShowPageLoaded 在 OnNavigateTo 事件处理程序之前被调用,因此数据没有被初始化。

我重新配置了调用以在 OnNavigateTo 处理程序中初始化我的数据,并忽略了 SlideShowPageLoaded 事件来解决问题。

【讨论】:

  • 如果您已经解决了您的问题,请mark它被接受
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多