Tag: microsoft metro

从资源文件/内容获取流

这是从资源文件获取Stream的正确/唯一方法吗? Uri uri = new Uri(fullPath); StorageFile storageFile = await Windows.Storage.StorageFile. GetFileFromApplicationUriAsync(uri); IRandomAccessStreamWithContentType randomAccessStream = await storageFile.OpenReadAsync(); IInputStream resourceStream = (IInputStream) randomAccessStream.GetInputStreamAt(0); 我的所有其他源(http和本地存储)都返回一个Stream对象,并且使用if-else代码使用其中一个或其他代码是很痛苦的。 我也尝试过创建一个MemoryStream,但我甚至找不到一个方法来获取字节…请帮助。 uint size = (uint)randomAccessStream.Size; IBuffer buffer = new Windows.Storage.Streams.Buffer(size); await randomAccessStream.ReadAsync(buffer, size, InputStreamOptions.None); Stream stream = new MemoryStream(buffer); // error takes byte[] not IBuffer 从资源中读取时的IInputStream.ReadAsync(): http : //msdn.microsoft.com/en-us/library/windows/apps/windows.storage.streams.iinputstream.readasync.aspx 而Stream.Read()和Stream.ReadAsync()看起来像这样: http://msdn.microsoft.com/en-us/library/system.io.stream.read.aspx 和 […]

如何获取CollectionViewSource的第一个元素?

我记得看过一些代码xaml,它可以从集合中获取第一个元素(如索引x [0])。 这是我的Resources的CollectionViewSource。 如果我在列表框中显示它,它加载它! 但是现在,我只想通过xaml获得第一个元素。 有可能做到这一点吗?

在windows8开发中是否有任何MasterPage

我在win8应用程序中有一些页面,其中大多数都有类似的布局,我使用Frame.Navigate来切换页面。 只是想知道在asp.net webform / mvc中是否有像MasterPage这样的东西。

Windows 8:如何使用内置的墨水function撤消和重做墨水?

基于microsoft的简化墨迹示例,我在我的应用程序中实现了墨迹代码: http : //code.msdn.microsoft.com/windowsapps/Input-simplified-ink-sample-11614bbf/view/SourceCode 首先,我创建了一个保存操作数据的类(draw / delete / clear),如下所示: public enum eInkOperation { Draw, Delete, None } public class InkOperation { public InkStroke Stroke { get; set; } //requred for drawing from undo public eInkOperation Operation { get; set; } public InkOperation(InkStroke stroke, eInkOperation inkOperation) { Stroke = stroke.Clone(); //needs to be cloned for AddStroke […]

为什么文件异步API会阻塞

我正在写一个简单的地铁应用程序。 但是,访问文件时API会阻塞。 通过阻止,我的意思是程序永远等待。 创建/打开文件或文件夹最多需要几秒钟。 在这种情况下,它需要永远。 当我运行程序时,它永远不会从OnTest返回。 这是你得到的。 我明白了。等待创建文件和文件夹才能完成。 也许那不是很棒的设计。 但是,这不是重点。 我的问题是: 你有同样的行为(永远阻止程序) 是应该发生的还是WinRT中的错误? (我正在使用消费者预览) 如果这是预期的行为,为什么需要永远? 这是XAML代码: Test 这是C#代码: private async void OnTest(object sender, RoutedEventArgs e) { var t = new Cache(“test1”); t = new Cache(“test2”); t = new Cache(“test3”); } class Cache { public Cache(string name) { TestRetrieve(name).Wait(); } public static async Task TestRetrieve(string name) […]

GroupedItemsPage:当从详细信息页面导航回来时,视图会跳回到开始状态

我为报纸开发了一个非常受欢迎的新闻应用程序。 不幸的是,我的用户报告了我可以重现的以下问题: 该应用程序基本上由一个GroupedItemsPage和一个ItemDetailPage (以及其他几个页面,这里不重要)组成。 GroupedItemsPage显示按类别分组的新闻。 当用户向右滚动时,他点击其中一个感兴趣的项目,被重定向到ItemDetailPage并导航回来。 返回GroupedItemsPage,视图跳回到第一组,并且不会停留在用户所在的最后位置(组) 。 当我创建一个新的Windowsapp store“网格应用”时,可以找到完全相同的行为(在我的环境中)。 不幸的是,我无法自己解决这个问题,也没有在网上找到一些有用的评论。 我看到其他几个应用程序可以解决这个问题而其他人没有。 任何评论将非常感谢 。 谢谢!

GetFilesAsync停止工作

我有这段代码 public static class Storage { public async static Task Exists(string filename) { var folder = await Package.Current.InstalledLocation.GetFolderAsync(“Assets”); var _files= await folder.GetFilesAsync(CommonFileQuery.OrderByName).AsTask().ConfigureAwait(false); var file = _files.FirstOrDefault(x => x.Name == filename); return file != null; } } 并从我的Windows 8商店应用程序调用它; this.IconExists = this.Game != null && Storage.Exists(this.IconName).Result; 因此,如果我在上面的行上放置一个断点并逐步运行它,它可以工作,但是没有中断并且只是运行应用程序会导致应用程序挂起。 几天前,类似的代码正在提交; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; […]

来自ANSII编码文件的ReadText

我用Q42.Winrt库下载html文件到缓存。 但是,当我使用ReadTextAsync时,我有exception: 目标多字节代码页中不存在Unicode字符的映射。 (HRESULTexception:0x80070459) 我的代码非常简单 var parsedPage = await WebDataCache.GetAsync(new Uri(String.Format(“http://someUrl.here”))); var parsedStream = await FileIO.ReadTextAsync(parsedPage); 我打开下载的文件,有ANSII编码。 我想我需要将它转换为UTF-8,但我不知道如何。

在Windows 8 Metro C#中显示StorageFile

我想在资产管理系统的UI上显示一个图像文件。 我设法将该项目存储为StorageFile 。 我该如何显示它? 我试图在XAML 标签的Source中显示它。 是否有可能将StorageFile为Image ? string path = @”Assets\mypicture.png”; StorageFile file = await InstallationFolder.GetFileAsync(path);

WinRT Xaml ListView – Touch不能很好地滚动

我有一个水平列表视图,向右滚动,如下所示: 问题是,当使用触摸时你无法滑动默认情况下滚动ListView,它似乎只是抓住ListView项并将其水平拉一点。 我可以滚动的唯一方法是单击每个ListViewItem之间的5-10个像素,这太可怕了。 是否有设置来修改此行为? 我的Xaml基本上是这样的: 我应该问杰瑞吗?