如何在使用C#的通用Windows应用程序中包含计时器

3

我需要在我的通用Windows应用程序中添加一个计时器。我已经了解到通用Windows应用程序中唯一可用的计时器是System.Windows.Threading.DispatcherTimer。为了使用它,我在Visual Studio的解决方案资源管理器中手动将WindowsBase.dll添加到我的应用程序引用中。现在我遇到了以下错误:

Error   3   Cannot find type System.ComponentModel.TypeConverter in module System.dll.  Game.Windows

如果我删除WindowsBase的引用,错误就会消失。我做错了什么吗?

可能是Windows Phone 8和Windows 8中MVVM的计时器的重复问题。 - Kevin Avignon
3个回答

4

可以添加到通用应用程序的程序集列在“项目 + 添加引用、程序集、框架”列表中。

是的,那个列表是空的。

这是有意为之的。

因为在通用应用程序项目中,您已经引用了所有可能的.NET程序集。使用浏览按钮不是解决方法。这会导致你所描述的痛苦,因为WindowsBase包含的类型只能在WPF应用程序中使用。该类型仅适用于完整的.NET框架,即安装在桌面上的.NET框架。而不是用户在手机上拥有的称为.NETCore的.NET框架,它的体积很小,因为手机很小。

在通用应用程序项目中,您已经可以使用Windows.UI.Xaml.DispatcherTimer,无需添加引用。


1
我认为Windows商店应用程序使用的那个位于Windows.UI.Xaml命名空间。

0

我一直在使用Windows.System.Threading中的ThreadPoolTimer。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接