在metro中,像下面这样的代码会抛出异常:
String fileName = @"C:\Test\dd\ccc.jpg";
StorageFile file = await StorageFile.GetFileFromPathAsync(fileName);
Run Code Online (Sandbox Code Playgroud)
但是,即使我检查了所有功能,也添加了文件选择器并允许所有文件类型.我仍然无法访问此文件,将抛出相同的异常.
有人知道如何在任意文件路径中读取文件吗?在都市风格的应用程序中是否可行.
我正在创建一个MetroStyle应用程序,我想使用基于HTTP Get方法的网站API.例如,要登录,我应该下载此URL返回的XML:
websitehost.com/api/login.php?u=username&p=password
问题是新的MetroStyle应用程序不允许我使用我在.Net中使用多年的许多方法,那么如何下载返回的XML文档并解析它?
我有一个理论问题.我有一个WCF Web服务,需要与.NET客户端和iPhone应用程序进行通信.
在服务中我有很多方法,比如:
User Login(string email,string password); etc..
Run Code Online (Sandbox Code Playgroud)
如果成功,我希望该服务将用户返回给我.否则,我希望服务向我抛出一个自定义异常,如EmailNotFoundException或PasswordNotCorrectException.
我被告知这不是最好的方法,特别是因为iPhone客户端将使用此服务.
我是否应该更改所有方法以返回WrapperEntity包含的Object错误字符串/异常对象?
这对我很重要,因为有时我需要知道操作失败的原因.如果Login返回null我将知道操作失败但我不知道为什么.
下面的方法在调用set Toast时执行,但是在时间弹出后不显示任何Toast.Windows 8 Metro应用程序Toast通知是否需要更多设置
int scheduledToastCounter = 1;
public void Set_Future_Toast()
{
XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText02);
XmlNodeList stringElements = toastXml.GetElementsByTagName("text");
stringElements.Item(0).AppendChild(toastXml.CreateTextNode("Scheduled Toast"));
DateTimeOffset displayTime = DateTimeOffset.UtcNow.AddSeconds(3);
ScheduledToastNotification scheduledToast = new ScheduledToastNotification(toastXml, displayTime);
scheduledToast.Id = "Future_" + this.scheduledToastCounter++;
ToastNotifier notifier = ToastNotificationManager.CreateToastNotifier();
notifier.AddToSchedule(scheduledToast);
int scheduledToastCount = notifier.GetScheduledToastNotifications().Count;
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个NSIS安装程序,可以在Windows 8上安装我的非Metro应用程序.
安装后,我的安装程序安装的所有可执行文件都将显示在Metro风格的"开始"屏幕上.有没有办法避免这种情况?甚至卸载程序也会显示在列表中,这在我看来很糟糕.
什么是避免安装的.exe显示在Metro风格的"开始"屏幕上的最佳方法?
我有一个模型对话框.我通过按ESC按钮覆盖OnCancel功能以停止意外退出.但这引起了一个新问题.我无法使用close(x)按钮关闭应用程序.我的功能实现是:
void MyDlg::OnCancel()
{
}
Run Code Online (Sandbox Code Playgroud) 说我有一些商店有一些数据:
id value
1 one
2 two
3 three
4 four
我想通过ID过滤它:
store.filter("id", "[1, 4]");
可能吗?是否还有另一种方法可以从商店中获取一些价值id?
我在win7机器上安装了VS 11 ultimate,但我没有都市风格的模板.我只能在win8机器上使用它吗?
我想为win8开发Metro应用程序,有没有办法使用win8模拟器(就像你有Android,所以你真的不需要一个设备,你可以使用模拟器进行开发)?
我已经创建了简单的VS包,用于在解决方案资源管理器的上下文菜单中添加新项目.在那里我需要检查选定项目的项目类型GUID.我怎么能得到这个.
例如,One Solution包含三种不同类型的项目,如WindowFormsApplication,MVC Projects,WebApplication.选择MVC项目时,我们需要获取该ProjectType GUID.
我在Package.cs中尝试了以下内容,
IVsMonitorSelection monitorSelection = (IVsMonitorSelection)Package.GetGlobalService(typeof(SVsShellMonitorSelection));
monitorSelection.GetCurrentSelection(out hierarchyPtr, out projectItemId, out mis, out selectionContainerPtr);
IVsHierarchy hierarchy = Marshal.GetTypedObjectForIUnknown(hierarchyPtr, typeof(IVsHierarchy)) as IVsHierarchy;
if (hierarchy != null)
{
object prjItemObject;
hierarchy.GetProperty(projectItemId, (int)__VSHPROPID.VSHPROPID_ExtObject, out prjItemObject);
string projectTypeGuid;
Project prjItem = prjItemObject as Project;
projectTypeGuid = prjItem.Kind;
}
Run Code Online (Sandbox Code Playgroud)
在那里,我获得所有选定项目的GUID为"FAE04EC0-301F-11D3-BF4B-00C04F79EFBC".
有人可以帮帮我吗?