Tag: windows runtime

在WPF应用程序中使用WinRT库。

我在这里关注了这篇文章: http : //blogs.msdn.com/b/eternalcoding/archive/2013/10/29/how-to-use-specific-winrt-api-from-desktop-apps-capturing-a -光使用-您-网络摄像头-到- A-WPF的app.aspx 这一切都很棒…但我如何在WPF中进行预览? WPF中不提供XAML“CaptureElement”控件。 有没有其他方法可以使用MediaCapture API进行预览? 为什么微软不能使这个控件可用?

使用P / Invoke从C#编组“EGLRenderResolutionScaleProperty”到ANGLE

我正在尝试使用P / Invoke让ANGLE在C#中工作。 基本上,我正在创建一个简单的2D表面,然后将其传递给skia(使用SkiaSharp)。 一切都工作,所有这一切,但我有一个问题编组PropertySet到非托管代码。 这个位工作正常: // the properties var props = new PropertySet(); props.Add(“EGLNativeWindowTypeProperty”, swapChainPanel); // the surface attributes int[] surfaceAttrs = { EGL_ANGLE_SURFACE_RENDER_TO_BACK_BUFFER, EGL_TRUE, EGL_NONE }; // create the surface surface = eglCreateWindowSurface(eglDisplay, eglConfig, props, surfaceAttrs); 我的导入如下: [DllImport(“libEGL.dll”)] public static extern IntPtr eglCreateWindowSurface( IntPtr dpy, IntPtr config, [MarshalAs(UnmanagedType.IInspectable)] object win, int[] attrib_list); 当我尝试为高分辨率屏幕设置缩放时,问题就出现了。 […]

如果我使用Task.Wait()而不是await,则不显示MessageDialog任务

我不知道在等待任务和使用task.Wait()之间的区别,但对于MessageDialog.ShowAsync方法,第一个它可以工作但不与第二个(而两个语法与其他异步方法一起工作)。 如果有人能解释为什么我会感兴趣! // this don’t work, no dialog is shown (and UI is block) var dialog = new MessageDialog(“fail”); var task = dialog.ShowAsync().AsTask(); task.Wait(); // this work var dialog = new MessageDialog(“success”); var task = dialog.ShowAsync().AsTask(); await task; 你会问我为什么要这样做,这是因为我需要在catch块中显示一个对话框(显示错误信息)并等待用户在catch块之后继续关闭对话框(是的,我们可以在catch块中使用await但是我们可以使用Task.Wait(),我已经成功地使用了其他异步方法)。

如何在ListView中访问WebView的NavigateToString属性

我有一个ListView ,其中包含一个WebView 。 当选择此列表中的ListViewItem时,我想通过NavigateToString方法将HTML绑定到WebView 。 WebView需要在绑定列表中(因为它与项目列表相关联),并且必须使用NavigateToString(因为HTML内容来自代码,而不在Web上) 反正有没有这样做? 如果是这样,最好的方法是什么?

FileIO.ReadTextAsync偶尔会挂起

我只是尝试使用WinRT,我正在创建的一个演示应用程序是一个基本的“记事本”风格的应用程序,可以加载/保存到本地存储。 虽然我熟悉构建WinRT应用程序的正确async方法,但我的演示应用程序使用同步Load来保持简单。 问题在于,当对Load进行调用时,它会在3次中有2次工作,其余时间应用程序挂起,调用var result = await FileIO.ReadTextAsync(storageFile); public class ContentStorage : IContentStorage { private const string FileName = “contents.txt”; public string Load() { return LoadAsync().Result; } public void Save(string content) { SaveAsync(content); } private static async Task LoadAsync() { var storageFile = await LocalFolder.GetFileAsync(FileName); var result = await FileIO.ReadTextAsync(storageFile); return result; } private static async […]

WinRT中的应用程序间通信

在Windows 8上有两个WinRT应用程序(C#/ Xaml,如果重要)。第一个应用程序应该接收并向第二个应用程序发送一些数据。 最好的方法是什么? 可以使用WCF吗? 编辑:第一个应用程序知道第二个。 实际上第二个应用程序是一个身份validation服务器,它只提供一种获取令牌的方法。

使用Azure移动服务更新条目

我目前正在使用以下方法将数据插入表中。 public async void PerformRegistration() { var personTable = App.MobileService.GetTable(); var person = new PersonTable { FirstName = FirstNameTextBox.Text, LastName = LastNameTextBox.Text, EmailAddress = EmailTextBox.Text, Password = PasswordTextBox.Password, DateOfRegister = DateTime.Now }; await personTable.InsertAsync(person); } 我可以像下面看到的那样访问它 var person = await personTable .Where(p => p.EmailAddress == EmailTextBox.Text) .ToListAsync(); 对数据库中已有的条目执行更新的最简单方法是什么? 我不确定如何保持Id相同的值。

在ListView-Binding中过滤和排序ObservableCollection

在.net的早期版本中,您可以使用类似的东西 ICollectionView collectionView = CollectionViewSource.GetDefaultView(AllImages); 为UI-Elements构建过滤机制。 但这似乎不再存在于WinRT中。 我正在使用ListBox-Element来显示User-List。 User-Class包含属性username(String),isOnline(Boolean),isFriend(Boolean)和unreadMails(Int)。 我需要某种过滤和排序。 过滤: 没有filter 只有isOnline == true 订购方式: unreadMails> 0 unreadMails == 0 AND isOnline == true AND isFriend == true isFriend == false AND isOnline == false AND isFriend == true AND isFriend == false 运行时属性可能会发生变化,如果列表自动更新,这将很酷。 (绑定已经有效,只有filter和订单丢失)。 任何想法如何实现这一目标?

在WinRT中下载网页会引发exception

我正在使用此代码在Metro Style应用程序中下载网页: public static async Task DownloadPageAsync(string url) { HttpClientHandler handler = new HttpClientHandler(); handler.UseDefaultCredentials = true; handler.AllowAutoRedirect = true; HttpClient client = new HttpClient(handler); HttpResponseMessage response = await client.GetAsync(url); response.EnsureSuccessStatusCode(); string responseBody = response.Content.ReadAsString(); return responseBody; } 问题是当行client.GetAsync(url)运行时,它会抛出一个exception,说: An error occurred while sending the request. 来自类型: HttpRequestException 。 编辑: 我已经使用InnerException来获取更多信息。 抛出的第一个exception是SocketException ,消息如下: An attempt […]

Metro App如何禁用Gridview滚动

是否可以在GridView中禁用滚动?