Tag: windows runtime

如何以编程方式关闭消息对话框

我试图在我的WinRT应用程序中关闭MessageDialog。 我注意到如果我试图一次显示两个消息对话框,我得到一个UnauthorizedAccessException。 为避免这种情况,我想关闭现有的消息对话框(如果它已打开)。 我用它来显示对话框: MessageDialog md = new MessageDialog(” “); private void MessageBox(string s) { Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { md.Content = s; //CLOSE HERE md.ShowAsync(); } ); } 我该如何关闭它?

在RunTime上即时更改应用程序语言

我目前正在开发一个metro应用程序,用户可以在运行时更改当前语言,并且所有加载的自定义控件都必须更新有关新语言的文本。 问题是,当我使用以下代码更改语言时,应用程序语言会更改,但只有在重新启动应用程序时才更新文本,因为已经缓存的页面和控件已被缓存。 LocalizationManager.UICulture = new System.Globalization.CultureInfo((string)((ComboBoxItem)e.AddedItems[0]).Tag); Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = ((ComboBoxItem)e.AddedItems[0]).Tag as String; 如何在运行时强制更新所有自定义控件的文本而不重新启动我的应用程序?

如何检测滚动查看器是否在winrt中到达底部

我想知道什么是检测ScrollViewer是否到达底部,右边等的最佳方法。 我想我可以通过使用PointerWheelChanged用于鼠标和ManipulationDelta进行触摸来实现这一点。 在这些事件处理程序中,我可以记录Horizo​​ntalOffset以找出滚动器何时到达结尾。 但我认为可能有更好的方法来做到这一点。 我发现了这篇文章 。 但压缩视觉状态似乎不适用于winrt。 不会调用CurrentStateChanging事件方法。 我还检查了另一篇文章 。 但它只适用于滚动条,而不是通用方法。 谁知道解决这个问题的最佳方法是什么?

WinRT – MessageDialog.ShowAsync将在我的自定义类中抛出UnauthorizedAccessException

我想编写自己的控件,当调用ctor时,会显示一个MessageBox。 public class Class1 { public Class1() { ShowDialog(); } void ShowDialog() { SynchronizationContext context = SynchronizationContext.Current; if (context != null) { context.Post((f) => { MessageDialog dialog = new MessageDialog(“Hello!”); dialog.ShowAsync(); }, null); } } } 如果我的类被某人使用,并编写如下代码,则始终在dialog.ShowAsync();抛出UnauthorizedAccessException dialog.ShowAsync(); void MainPage_Loaded(object sender, RoutedEventArgs e) { ClassLibrary1.Class1 c1 = new ClassLibrary1.Class1(); MessageDialog dialog1 = new MessageDialog(“”); dialog1.ShowAsync(); […]

unit testingWindows 8 Store App UI(Xaml控件)

我一直在创建一个Windowsapp store应用程序,但是我测试了一个创建网格(这是一个XAML控件)的方法的线程问题。 我试过使用NUnit和MSTest进行测试。 测试方法是: [TestMethod] public void CreateThumbnail_EmptyLayout_ReturnsEmptyGrid() { Layout l = new Layout(); ThumbnailCreator creator = new ThumbnailCreator(); Grid grid = creator.CreateThumbnail(l, 192, 120); int count = grid.Children.Count; Assert.AreEqual(count, 0); } 和creator.CreateThumbnail(抛出错误的方法): public Grid CreateThumbnail(Layout l, double totalWidth, double totalHeight) { Grid newGrid = new Grid(); newGrid.Width = totalWidth; newGrid.Height = totalHeight; SolidColorBrush backGroundBrush […]

Windows Phone 8(仅限C ++) – 可以访问设备制造商吗?

目前正在使用纯C ++ / Direct3D开发Windows Phone 8应用程序。 我们现在需要访问设备制造商名称,但它似乎只能在C#下使用,根据我的研究,这种类型的应用程序无法访问它。 此页面列出了我想要使用的一些调用: http : //msdn.microsoft.com/en-us/library/windowsphone/develop/microsoft.phone.info.devicestatus(v = vs.105).aspx 。 // If only I could call this line from C++ DeviceStatus.DeviceManufacturer; 无论如何都可以获得这些信息,而无需将应用程序重构为允许基本应用程序为C#的XAML / C ++混合应用程序。

如何在EditText软键盘上隐藏8个Metro应用程序?

我使用C#在我的Frame中有一个EditText和一个Button。 在编辑字段内写入并单击按钮后,我想隐藏虚拟软键盘。

由于捕获的exception,显示WinRT MessageDialog的正确方法是什么?

由于捕获的exception,显示消息对话框的正确方法是什么? 我最初尝试过 try { await DoSomething(); } catch(InvalidOperation ex) { await MessageDialog(ex.Message).ShowAsync(); } catch(CommunicationException) { await MessageDialog(StringResourceLoader.LoginError).ShowAsync(); } 这不起作用,因为你无法await try块内部。 取出await命令会使编译器显示以下警告: 由于不等待此调用,因此在完成调用之前会继续执行当前方法。 考虑将’await’运算符应用于调用的结果 我不喜欢在我的代码中保留这些警告,因为在几个地方人们忘记使用await因此很难找到错误。 将消息对话框语句更改为var task = new MessageDialog(ex.Message).ShowAsync().AsTask(); 摆脱所有的警告和错误,但我不确定这是一个很好的方式(并在技术上是坏的,因为它希望我await电话) 最后,我尝试通过以下方式存储exception并在catch之外执行我向用户显示的内容的逻辑(包括确定抛出什么类型的exception的所有逻辑): Exception thrownException = null; try { await DoSomething(); } catch(Exception ex) { thrownException = ex; } if (thrownException is InvalidOperationException) await MessageDialog(ex.Message).ShowAsync(); else if […]

从App WinRT获取本地文件夹

我在尝试将文件保存到我正在使用的WinRT应用程序的文件夹中时遇到问题。 更具体:我无法设法检索该文件夹。 我需要保存一些文件,然后从同一个文件夹中检索它们,让我们说MyFolder实际上与应用程序中的Assets文件夹在同一级别。 我怎么能实现这样的呢? 到目前为止我试过了 await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync(“MyFolder”) 和 await ApplicationData.Current.LocalFolder.GetFolderAsync(“MyFolder”); 并且似乎都告诉我这样的文件夹不存在。 现在,我似乎无法弄明白,如果我走在正确的轨道上,或者这是我做过的愚蠢行为并导致exception。 我不能真正发布整个代码,因为它实际上是对其他调用的更大方法的调用,依此类推。 此外,我想知道(如果这些方法中的任何一个是正确的),如果应用程序获得更新,内容会受到任何影响(更好地说,丢失)。 谢谢。

如何通过3G连接检查互联网连接状态?

我有以下方法: public static bool IsNetworkConnected() { ConnectionProfile InternetConnectionProfile = NetworkInformation.GetInternetConnectionProfile(); IReadOnlyList connectionProfile = NetworkInformation.GetConnectionProfiles(); if (InternetConnectionProfile == null) return false; else return true; } 当我以典型的方式连接到互联网时 – 通过LAN电缆或Wi-Fi,它工作正常。 当我使用我的3G USB调制解调器时,它返回false( InternectConnectionProfile为null)。 这是为什么? 我该如何解决?