【发布时间】:2017-08-23 18:00:22
【问题描述】:
我想以与 Android 相同的方式在 UWP 项目中使用Toast(见下图)。我知道 UWP 有一个名为 ToastNotification 的本机控件,但我认为它真的很炫(见另一个附件)...
找到一个类似的控件或事件来自己制作它会很棒,但我不知道从哪里开始,所以任何建议都将不胜感激。
提前致谢!
【问题讨论】:
标签: c# uwp windows-10-universal uwp-xaml
我想以与 Android 相同的方式在 UWP 项目中使用Toast(见下图)。我知道 UWP 有一个名为 ToastNotification 的本机控件,但我认为它真的很炫(见另一个附件)...
找到一个类似的控件或事件来自己制作它会很棒,但我不知道从哪里开始,所以任何建议都将不胜感激。
提前致谢!
【问题讨论】:
标签: c# uwp windows-10-universal uwp-xaml
UWP 应用不提供此功能。我所做的解决方法是在每个页面上都有一个透明的层,并且只有在您激活它时才在短时间内可见
【讨论】:
这个问题已经回答here。总结一下,你可以使用 Coding4Fun 工具包并修改 toast 提示。
【讨论】:
我已经为此挖掘了自己,他们说Android具有的简单“toast”功能不适用于UWP,UWP下的Toast类实际上是那里的通知。事实上,我从一开始就纠正了自己,自己推出了它。我自己遇到的问题是窗口大小,我自己的解决方案在 OnNavigateTo() 开始时无法运行,它有点啰嗦,所以我会给你对象播放器而不是完整的代码。
我的自制解决方案的 XAML 部分完全包含在 <Popup> ... </Popup> 中,不是很漂亮,但我会修复它。 SO 让我很伤心,因为代码格式不正确,所以你没有得到完整的编码,抱歉。
代码隐藏的入口点并不复杂,请参阅ThreadPoolTimer,因为 SO 一直让我对 f'd 代码感到悲伤,所以再次抱歉,剩下的是 Dispatcher.RunAsync(),线程工作三遍淡入,让它显示,然后淡出。 RunAsync 的东西 Android 文档实际上在其等效的操作系统中解释得很清楚,我不确定微软是否也按照谷歌的解释说了些什么,但两个操作系统上的 UI 都不是线程安全的,我忘记了这一点并得到了我自己 MarshallingException 在我记得之前。
RunAsync() 需要一个枚举和一个委托来运行。那就是将委托中继到主线程运行。
【讨论】: