在这篇文章中,我们将带领您了解在WindowsPhone7上解析JSON的全貌,包括ios解析json崩溃的相关情况。同时,我们还将为您介绍有关c#–ListBoxVirtualizingStackP
在这篇文章中,我们将带领您了解在Windows Phone 7上解析JSON的全貌,包括ios解析json崩溃的相关情况。同时,我们还将为您介绍有关c# – ListBox VirtualizingStackPanel.VirtualizationMode =“回收”在Windows Phone 7.5中不起作用、c# – 在Windows 10中部署Windows Phone 8.1应用程序时找不到IpOverUsbSvc、c# – 在Windows Phone 8.1 / WinRT中设置AutoFlash、c# – 在Windows Phone 8.1 Universal Store App中触发警报?的知识,以帮助您更好地理解这个主题。
本文目录一览:- 在Windows Phone 7上解析JSON(ios解析json崩溃)
- c# – ListBox VirtualizingStackPanel.VirtualizationMode =“回收”在Windows Phone 7.5中不起作用
- c# – 在Windows 10中部署Windows Phone 8.1应用程序时找不到IpOverUsbSvc
- c# – 在Windows Phone 8.1 / WinRT中设置AutoFlash
- c# – 在Windows Phone 8.1 Universal Store App中触发警报?
在Windows Phone 7上解析JSON(ios解析json崩溃)
它让我添加Silverlight DLL,但警告我它可能会导致奇怪的应用程序行为,所以我怀疑它实际上是否有效.
This看起来像是序列化和反序列化数据的好方法,但我需要实际查询它.我可以使用这种技术将其序列化为IQueryable,然后使用LINQ吗?我可以以某种方式将JSON转换为XML并使用LINQ吗?
或者我应该自己做hacky和悲伤的字符串操作?
更新:出于某种原因,我甚至无法让VS2010识别DataContractJsonSerializer:
// works DataContractSerializer ser1 = new DataContractSerializer(); // the type or namespace 'DataContractJsonSerializer' Could not be found ... DataContractJsonSerializer ser = new DataContractJsonSerializer();
更新2:以下还抱怨:
using System.Runtime.Serialization.Json;
错误:
The type or namespace name ‘Json’ does
not exist in the namespace
‘System.Runtime.Serialization’ (are
you missing an assembly reference?)
我做错了什么,或者wp7不支持JSON?
更新3:看起来DataContractJsonSerializer位于System.Servicemodel.Web命名空间中.
更新4:我添加了对Silverlight JSON.NET DLL的引用,它现在似乎工作正常.手指交叉.
解决方法
DataContractJsonSerializer位于System.Servicemodel.Web.dll程序集中,但位于System.Runtime.Serialization.Json命名空间中.
它吸引了不少人.
很高兴你似乎有这个工作.
c# – ListBox VirtualizingStackPanel.VirtualizationMode =“回收”在Windows Phone 7.5中不起作用
这是相关的XAML:
<ListBox ItemsSource="{Binding EpisodeRows}" toolkit:TiltEffect.Suppresstilt="True" Margin="12,0" VirtualizingStackPanel.VirtualizationMode="Recycling"> <ListBox.ItemTemplate> <DataTemplate> <Grid VerticalAlignment="Top" Height="111" VirtualizingStackPanel.VirtualizationMode="Recycling" > <StackPanel Orientation="Horizontal" Visibility="{Binding TilesVisibility}"> <landerGame:LevelTileUserControl PartText="{Binding PartText_1}" scoreText="{Binding scoreText_1}" Star1Visibility="{Binding Star1Vi <landerGame:LevelTileUserControl PartText="{Binding PartText_2}" scoreText="{Binding scoreText_2}" Star1Visibility="{Binding Star1Vi <landerGame:LevelTileUserControl PartText="{Binding PartText_3}" scoreText="{Binding scoreText_3}" Star1Visibility="{Binding Star1Vi <landerGame:LevelTileUserControl PartText="{Binding PartText_4}" scoreText="{Binding scoreText_4}" Star1Visibility="{Binding Star1Vi <landerGame:LevelTileUserControl PartText="{Binding PartText_5}" scoreText="{Binding scoreText_5}" Star1Visibility="{Binding Star1Vi <landerGame:LevelTileUserControl PartText="{Binding PartText_6}" scoreText="{Binding scoreText_6}" Star1Visibility="{Binding Star1Vi </StackPanel> <TextBlock VerticalAlignment="Top" Text="{Binding EpisodeTitleText}"Margin="0,5" </Grid> </DataTemplate> </ListBox.ItemTemplate> </ListBox>
这是滚动列表时我的性能分析结果的屏幕截图:
这是列表的样子(这是游戏的级别选择):
我环顾四周,发现任何解决VirtualizationMode =“回收”的文章似乎无法正常工作.在这一点上,任何见解都将是最受欢迎的.
编辑:我已经上传了这个项目的完整相关代码,任何人都可以在这里自己尝试:http://maketag.net/landerGame.rar
解决方法
我建议远离ListBox,因为你试图在这里模拟的行为实际上是WrapPanel.
由于您为每个ListBox项添加了这么多用户控件的方式,我猜它会导致性能下降.如果您切换到WrapPanel然后绑定到您的项目集合,您可能会获得更好的性能,因为每个项目将被虚拟化而不必尝试一次虚拟化六个项目(这可能不起作用).
编辑:查看代码我认为您可以进行一些改进以提高性能.首先,摆脱ListBox并使用如下的ItemsControl:
<controls:Pivot Title="LANDER GAME"> <!--Pivot item one--> <controls:PivotItem Header="Episodes"> <ScrollViewer> <ItemsControl ItemsSource="{Binding EpisodeRows}" toolkit:TiltEffect.Suppresstilt="True" Margin="12,0"> <ItemsControl.ItemTemplate> <DataTemplate> <Grid VerticalAlignment="Top" Height="111" > <StackPanel Orientation="Horizontal" Visibility="{Binding TilesVisibility}"> ... </StackPanel> <TextBlock VerticalAlignment="Top" Text="{Binding EpisodeTitleText}"Margin="0,5" Visibility="{Binding TitleVisibility}" /> </Grid> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> </ScrollViewer> </controls:PivotItem>
我要做的就是摆脱硬编码的PartText_1,PartText_2类型的变量.只需创建一个项目列表,并在其他项目控件中包含另一个ItemsControl.
只是摆脱ListBox使它更顺畅.我还删除了VirtualizingStackPanel.VirtualizationMode =“Recycling”,因为它在开始时导致了性能损失,一旦加载它看起来更平滑.
c# – 在Windows 10中部署Windows Phone 8.1应用程序时找不到IpOverUsbSvc
Error : DEP6200 : Boostrapping ‘Device’ Failed. Device cannot be found. Windows Phone IP over USB Transport (IpOverUsbSvc) is not running. Retry after starting Windows Phone IP over USB Transport (IpOverUsbSvc) from the services management console.
Error : DEP6100 : The following unexpected error occurred during boostrapping stage ‘Connecting to the device’:
SmartDeviceException – Windows Phone IP over USB Transport (IpOverUsbSvc) is not running. Retry after starting Windows Phone IP over USB Transport (IpOverUsbSvc) from the services management console.
我的Lumia手机已连接,可从Windows文件资源管理器访问.
我已经检查了IpOverUsbSvc服务的服务,但它不在那里.所以我也检查了powershell:get-service IpOverUsbSvc
Status Name displayName ------ ---- ----------- Stopped IpOverUsbSvc Windows Phone IP over USB Transport...
我在使用Windows 8.1时没有收到这些错误.似乎此服务在Windows 10中不可用.
任何人都可以帮我解决这个问题吗?
解决方法
似乎……在某些情况下,ipoverusbsvc的注册信息已损坏.要修复它,只需将正确的信息放入注册表.
您可以找到ms guy将正确的.reg文件上传到他的onedrive的以下链接.
[UWP][SDK]IpOverUsbSvc service missing in windows 10 RC (Build 10240)
c# – 在Windows Phone 8.1 / WinRT中设置AutoFlash
与默认的相机应用程序一样,我希望有三种状态 – 自动,关闭和开启.我正在使用的代码如下:
switch (mode) { case FlashMode.Auto: _captureManager.VideoDeviceController.FlashControl.Auto = true; _captureManager.VideoDeviceController.FlashControl.Enabled = false; if (_captureManager.VideoDeviceController.FlashControl.AssistantLightSupported) _captureManager.VideoDeviceController.FlashControl.AssistantLightEnabled = true; break; case FlashMode.On: _captureManager.VideoDeviceController.FlashControl.Auto = false; _captureManager.VideoDeviceController.FlashControl.Enabled = true; if (_captureManager.VideoDeviceController.FlashControl.AssistantLightSupported) _captureManager.VideoDeviceController.FlashControl.AssistantLightEnabled = true; break; case FlashMode.Off: _captureManager.VideoDeviceController.FlashControl.Auto = false; _captureManager.VideoDeviceController.FlashControl.Enabled = false; if (_captureManager.VideoDeviceController.FlashControl.AssistantLightSupported) _captureManager.VideoDeviceController.FlashControl.AssistantLightEnabled = false; break; }
“开”和“关”模式工作正常,相机启动时设置为“自动”.但是,一旦您将相机更改为开启,然后关闭然后再返回自动,则闪光灯永远不会再次打开(我已经确认它不是场景的照明).我有什么想法可以重新启用自动闪光?
解决方法
如果需要自动闪存,则需要将Enabled和Auto设置为true.
c# – 在Windows Phone 8.1 Universal Store App中触发警报?
XML文件:
<toast duration="long" launch="alarm(eb6c47a8-e5e2-40d0-bc4e-3aa957f36484)"> <visual> <binding template="ToastimageAndText04"> <text id="1">Alarm App</text> <text id="2">Alarm Test</text> <text id="3">Time to wake up!</text> </binding> </visual> <audio loop="true" src="ms-winsoundevent:Notification.Looping.Alarm2" /> <commands scenario="alarm"> <command id="snooze" /> <command id="dismiss" /> </commands> </toast>
通知类:
public class Notification { public async Task CreateNotification() { StorageFolder storageFolder = Package.Current.InstalledLocation; var toast = await storageFolder.GetFileAsync("toast.xml"); var xml = await FileIO.ReadTextAsync(toast); NotifyScheduled(xml); } private void NotifyScheduled(string toast,int delay = 5,int snooze = 300,int maxSnoozeCount = 3) { XmlDocument document = new XmlDocument(); document.LoadXml(toast); var notifier = Toastnotificationmanager.CreatetoastNotifier(); var scheduledToast = new ScheduledToastNotification(document,DateTime.Now.AddSeconds(delay),TimeSpan.FromSeconds(snooze),(uint)maxSnoozeCount); notifier.AddToSchedule(scheduledToast); } }
并在Phone的xaml.cs页面中实现:
var note = new Notification(); note.CreateNotification();
结果应如下所示:
但它目前只是像这样做一个常规的吐司通知(在你根据需要解雇或打盹之前不会发出警报):
就像我提到的,我可以让它在Windows平板电脑(Windows 8.1)中正常工作,它看起来像这样:
编辑:值得注意的是,如果您的平板电脑设备没有将您的应用程序指定为默认警报应用程序(只能分配一个),则不会显示“暂停/关闭”按钮.但是,在Windows Phone 8.1中,没有选项可以定义默认警报应用程序的内容.
解决方法
这是一篇关于Windows Phone 8.0和8.1中的功能的非常好的文章,以及它们如何映射以及可以在哪里执行的操作:http://msdn.microsoft.com/en-us/library/dn642486(v=vs.105).aspx
有一节(第一节)叫
Windows Phone 8 features for which there is no Windows Phone Store equivalent
在其中,你可以看到
Alarms and reminders
关于在Windows Phone 7上解析JSON和ios解析json崩溃的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于c# – ListBox VirtualizingStackPanel.VirtualizationMode =“回收”在Windows Phone 7.5中不起作用、c# – 在Windows 10中部署Windows Phone 8.1应用程序时找不到IpOverUsbSvc、c# – 在Windows Phone 8.1 / WinRT中设置AutoFlash、c# – 在Windows Phone 8.1 Universal Store App中触发警报?等相关内容,可以在本站寻找。
本文标签: