Tag: windows runtime

WinRt页面导航

如何从自定义类内部的代码导航到页面。 例如,假设我在MainPage.xaml.cs中有这个代码: private void DoSomething(object sender, RoutedEventArgs e) { var work = new Work(); work.doMore(); } 在这个课程中,我希望导航实际发生在这里: public class Work { public void DoMore() { // this is what I’ve tried, but doesn’t work var myFrame = new Frame(); myFrame.Navigate(typeof(HomePage)); } }

如何在MetroStyle应用程序(WinRT)和C#中下载网页

我正在创建一个MetroStyle应用程序,我想使用基于HTTP Get方法的网站API。 例如,登录时我应该下载此URL返回的XML: websitehost.com/api/login.php?u=username&p=password 问题是新的MetroStyle应用程序不允许我使用我在.Net中使用多年的许多方法,那么如何下载返回的XML文档并解析它?

在WinRT地铁中将控制渲染为图像

我正在为windows 8 metro创建一个应用程序,我需要将一个框架控件渲染到一个图像中并将其保存到硬盘但不知道如何。 我可以使用SharpDX吗? 我能怎么做? 在此先感谢您的帮助

Windows Phone 8上的SQLite性能非常糟糕

我有一个使用SQLite数据库的Windows Phone 8应用程序。 要访问数据库,我使用Andy Wigley的WinRT Wrapper( 来源 ) 我的数据库非常简单,只有一个表:位置:整数主键“FieldIndex”,varchar“Field1”,varchar“Field2”,varchar“Field3”,varchar“Field4”,varchar“Field5”,varchar“Field6”,int “类别ID” 我还有“FieldIndex”和“CategoryID”的索引。 表中总共有4000个条目,数据库大小为900 kB。 我还压缩了数据库(真空)。 数据库作为应用程序内容部署到手机中(=在安装文件夹中=只读)。 我只使用数据库进行查询。 我的数据访问代码如下所示: using (var db = new SQLiteWinRTPhone.Database(Package.Current.InstalledLocation, @”Model\db.sqlite”)) { await db.OpenAsync(SQLiteWinRTPhone.SqliteOpenMode.OpenRead); await db.ExecuteStatementAsync(“PRAGMA journal_mode = MEMORY”); await db.ExecuteStatementAsync(“PRAGMA temp_store = 2;”); using (var stmt = await db.PrepareStatementAsync(“SELECT * FROM Locations;”)) { int i = 0; while (await stmt.StepAsync()) { […]

Metro应用的倒数计时器

我是Metro Style Develop的初学者,我试图制作一个需要定时器的小游戏,倒计时从10到0.但是在这个Visual Studio中没有Timer Component,而DispatcherTimer没有映射到xmlns。 我试图使用TimeSpan,这个字段有“TicksPerSecond”但是这个例子不能帮助我制作我的倒数计时器: http : //msdn.microsoft.com/en-us/library/system.timespan.tickspersecond.aspx TimeSpan也有这个方法“FromSeconds”,我也不能将这个用于我的倒数计时器: http : //msdn.microsoft.com/en-us/library/system.timespan.fromseconds.aspx 另外我在stackoverflow上阅读了这个问题: 如何在Metro Style App中实现计时器,但这没用。 我能为这个倒数计时器做些什么?

WinRT预加载图像

我有一个Windows 8.1 XAML应用程序,我想在页面之间导航之前预先加载图像。 我现在的天真代码是: // Page1.xaml.cs private void Button_Click(object sender, RoutedEventArgs e) { Frame.Navigate(typeof(Page2)); } 在第二页: // Page2.xaml.cs this.image1.Source = new BitmapImage(new Uri(“ms-appx:///Assets/image1.jpg”)); this.image2.Source = new BitmapImage(new Uri(“ms-appx:///Assets/image2.jpg”)); 现在,当我单击按钮进行导航时,我可以看到正在加载的图像并且当时显示一个图像。 我想在按钮点击上预先加载图像,只在图像加载后导航。 不幸的是,只是创建BitmapImage对象并等待ImageOpened事件不起作用。 如果未将图像渲染到屏幕,则看起来不会加载图像。 有没有办法强制从代码加载图像而不将它们添加到可视树? (注意:一种解决方法是以一种看不见的方式将所有图像实际添加到Window中,但是如果可能的话我想避免这种情况) 最终解决方案 这是我使用SetSourceAsync提出的,正如Filip Skakun所建议的那样 : // Page1.xaml.cs private async void Button_Click(object sender, RoutedEventArgs e) { bitmapImage1 = new BitmapImage(); bitmapImage2 = new […]

使用CaptureElement / MediaCapture时如何在网络摄像头之间切换?

我试图提供一个选项,用于在使用CaptureElement / MediaCapture显示预览的网络摄像头之间切换。 不幸的是,我尝试了多种呼叫序列组合,预览只显示我使用的第一个设备。 这就是我一直在努力做的事情: XAML: C#: MediaCapture mediaCapture; DeviceInformationCollection devices; int currentDevice = 0; private async void LayoutRoot_Tapped(object sender, Windows.UI.Xaml.Input.TappedEventArgs e) { if (devices != null) { currentDevice = (currentDevice + 1) % devices.Count; InitializeWebCam(); } } private async void InitializeWebCam() { if (devices == null) { devices = await DeviceInformation.FindAllAsync(DeviceClass.VideoCapture); ListDeviceDetails(); } if […]

将磁贴固定到启动屏幕上的选定位置(以编程方式)Windows 8

我正在寻找一个解决方案,将已安装的应用程序或桌面应用程序固定到Windows 8的开始屏幕上。 我已经想到这样做,就像之前在这篇文章中描述的那样 关于这个问题也有很长时间的讨论 但我的问题没有答案: 如何将新图块固定到开始屏幕上的选定位置? 如果我安装一个新的应用程序/应用程序Windows 8将新应用程序固定在Startscreen的末尾。 (Windows 8.1没有)但是如果我想将第三 组中 的tile fe放在第三个位置 ,那么就有可能这样做。 我在企业环境中,我知道可以提供这种开箱即用的工具。 所以必须有一种方法可以以编程方式执行此操作,但通过我所有的努力,我可以找到一种方法。

在OnSuspending方法中保存数据

对于C / XAML中的Windows 8应用程序,我必须将一些数据存储到LocalState文件夹中。 我认为使用async / await运算符时遇到了一些麻烦。 当我在应用程序运行时保存数据时,一切正常,但是当我尝试在OnSuspending方法中保存数据时,似乎我的应用程序不会等待我的保存方法完成以暂停应用程序。 更奇怪的是,当我调试并逐步完成所有操作时,一切正常,但是当我没有设置任何断点时,应用程序在保存数据之前关闭。 这是我的代码: private async void OnSuspending(object sender, SuspendingEventArgs e) { var deferral = e.SuspendingOperation.GetDeferral(); await api.BeforeClosing(true); deferral.Complete(); } public async Task BeforeClosing(Boolean toTombstoning) { SaveItem(fileNameLoadingProgress, InitLoading); } public static async void SaveItem(String fileName, T data, Boolean crossThreadSecure = false) where T : IBinarySerializable { await CreateNewStorageFile(fileName); StorageFolder […]

在Windows 8中重用动画

我正在构建Windowsapp store应用程序(Winrt,Metro,Windows 8应用程序)。 我尝试在gridview动画中提供图像:从web加载图像并打开后,它会填充其单元格。 我有故事板: 我有这样的C#代码来处理加载和打开图像的事件: private void Image_ImageOpened(object sender, RoutedEventArgs e) { Storyboard.SetTarget(PopupImageStoryboard, sender as Image); PopupImageStoryboard.Begin(); } 它不起作用,我无法更改目标并在运行时重新运行相同的故事板。 但是我希望同时运行这个动画的多个图像。 你能推荐任何动画重用的解决方案吗?