uwp - 如何在 Uno WASM 中创建幻灯片?
问题描述
我正在尝试在我的 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?我可以使用其他选项吗?
解决方案
问题解决了。我最初提供的信息不完整。SlideShowPage 由 Frame.Navigate 创建。在 UWP 工作的 UWP 实现中,首先调用 OnNavigateTo 事件,然后调用 SlideShowPageLoaded。在 WASM 上,SlideShowPageLoaded 在 OnNavigateTo 事件处理程序之前被调用,因此数据没有被初始化。
我重新配置了调用以在 OnNavigateTo 处理程序中初始化我的数据,并忽略了 SlideShowPageLoaded 事件以解决问题。
推荐阅读
- mysql - 用外键删除其他数据
- c++ - 打印信息时数据结构不起作用
- sql - 分组以便将行结果转换为分组列
- d3.js - 无法使用 parseFloat 方法将字符串转换为数字
- testcase - Kiwi TCMS - 测试用例表格视图
- amazon-web-services - 从 AWS Lambda 到 Athena 的同步调用
- ajax - 在 React 中提供 Ajax 数据
- javascript - 关闭元素的用户无法在其外部单击,因为它在 SVG 图的其他元素上打开
- xpath - BaseX XQuery 给出错误消息“上下文未声明”
- capl - 如何在 CAPL 中插入“on key”重播块