Tag: silverlight 5.0

Generics 无法在c#中运行,甚至没有任何错误

我正在使用Silverlight 5(VS 2010)创建一个C#Web应用程序。 首先,我创建了控制台应用程序,因为每件事都运行良好。 但是当我在Web应用程序中执行此操作时会出现问题 即使在Web应用程序中,它也适用于特别设置的数据类型(例如,对于int而不是它工作正常)但是当我使用generics时它不起作用。 它编译无错误,但它甚至不调试设置为“切换断点”的区域。 最初GUI是这样的: 但是当控件传递到容易出错的部分时,GUI会突然消失 而且我保留断点的地方被这个替换了 (参见最左边的) 因此我无法调试以找到问题 。 我正在尝试做的一些解释:在下面的给定代码中我有一个二进制文件并存储在“fileContents”中,它是数据类型byte[] (我现在没有向您透露读取该文件的方法,你可以认为fileContents包含MainPage类中的二进制文件的内容。 实际上我会将符号(forms为0和1的符号存储在二进制文件中)并找到它的频率(通过计算它在文件中重复的次数,但没有问题所以我没有为它编写方法)。 但是我的代码中的这个processingValue变量将是generics类型( ),我将它存储在”symbol” (也是类型的(从二进制文件读取的这个符号可能是这些short / int /之一)我没有在我的代码中显示的long / UInt32 / UInt64等)。 我有这样的场景: using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using System.IO; using System.Text; using System.Runtime.InteropServices; […]

如何在Silverlight中为组单选按钮设置数据绑定?

Sliverlight提供了带有GroupName的单选按钮,可以将radiobutton与多个选项中的一个选项组合在一起。 就像是: 然后在VM中,我只有一个属性用于此选项,比如它是MyChoice public int MyChoice {get; set;} 那么如何在UI和VM之间为这种情况设置数据绑定?

Silverlight套接字:模仿框架Bind,Listen和Accept方法?

我有这个.NET Framework C#类,它实际上充当System.Net.Sockets命名空间中Socket类周围的TCP连接的包装器。 最近我已将此包装类的API迁移到Silverlight,但由于Silverlight中Socket类的限制 ,以及关于可用端口,客户端访问策略等的正常信任限制,我只实现了网络客户端支持我的Silverlight版本。 现在,使用Silverlight 5(RC) ,即使对于浏览器内SL应用程序也可以应用提升的信任,这样就删除了我在SL 4中必须遵守的所有端口和客户端访问策略限制。 我的问题是,如果还有一种方法可以在我的SL包装器类中实现某种网络服务器支持? 更具体地说,Silverlight中有一种方法可以模仿.NET Framework Socket类的Bind,Listen和Accept方法吗? 为了模仿Socket.Connect,我在Silverlight Socket类中使用了ConnectAsync方法。 可以使用例如Receive(From)Async对Bind / Listen / Accept方法做类似的事情吗? 提前致谢。

无法将类型’System.Collections.Generic.List ‘隐式转换为’System.Linq.IQueryable ‘

我正在尝试在我的域服务(VS 2010 Silverlight业务应用程序)中创建一个查询,该查询返回作为特定值出现的检查读数的结果,我的数据库设置为: Locations a) Inspections b) InspectionItems c) InspectionReadings a) Areas b) Inspections c) InspectionItems d) InspectionReadings 因此,正如您所看到的,区域和位置下的位置有检查读数。 我有一个名为StatusList的POCO: public class StatusList { [Key] [Editable(false)] public Guid ID { get; set; } public string LocationName { get; set; } public DateTime LastInspectionDate { get; set; } public string Status { get; set; } } […]

C#HttpClient PostAsync将204变为404

鉴于此WebApi服务: [ActionName(“KillPerson”)] [HttpPost] public void KillPerson([FromBody] long id) { // Kill } 而这个HttpClient PostAsync调用: var httpClient = new HttpClient { BaseAddress = new Uri(ClientConfiguration.ApiUrl) }; httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(“application/json”)); var serializerSettings = new JsonSerializerSettings { PreserveReferencesHandling = PreserveReferencesHandling.Objects, Formatting = Formatting.Indented, ReferenceLoopHandling = ReferenceLoopHandling.Serialize }; var serializedParameter = JsonConvert.SerializeObject(parameter, serializerSettings); var httpContent = new StringContent(serializedParameter, Encoding.UTF8, “application/json”); […]

Silverlight中的对象深层复制

我试图在silverligth 5中创建对象的副本,其中IFormatters和IcCloanble等接口不支持。 * 我的对象是这样的:(注意这些obkjects是在反序列化xml时获得的):我试着像这样复制: [XmlRoot(ElementName = “component”)] public class Component { [XmlElement(“attributes”)] public Attributes Attributes { get; set; } [XmlIgnore] public Attributes atrbtOrginal = new Attributes(); [XmlIgnore] public Attributes atrbtCopy{ get; set; } } public Component() { atrbtCopy= atrbtOrginal ; } 当然它不会工作,然后我在Google上搜索这个代码: public static class ObjectCopier { public static T Clone(T source) { if (!typeof(T).IsSerializable) […]

C1RichTextBox具有自定义复制/粘贴行为

在使用IE 10的Silverlight 5中使用C1RichTextBox时,我面临两个主要问题: 在剪贴板粘贴操作期间,如何检测内容是从Silverlight应用程序中的另一个C1RichTextBox还是从外部应用程序复制的? 从外部应用程序,只应粘贴文本而不进行格式化。 将大型内嵌图像从一个C1RichTextBox复制/粘贴到另一个不起作用。 元素将图像内容存储在其数据URL中。 如果图像变得太大(大约1MB),则在复制到剪贴板时会删除src属性。 解决方案应该: 没有全局剪贴板或C1RichTextBox的编辑行为的C1RichTextBox 。 对C1RichTextBox实现的更改具有C1RichTextBox 。 无需修改/解析/分析剪贴板中的HTML文档。

在Caliburn Micro和Castle Windsor中处理ViewModels

我在Caliburn-Micro Silverlight应用程序中使用Castle-Windsor作为我的容器。 我的ViewModel对象相当粗糙,因为它们调用WCF服务和其他一些东西。 因此,当窗口关闭时,我想调用container.Release(viewModel),以便Castle可以管理整个退役/处置过程,尊重配置的各种生命周期(如本文所述)。 在我的AppBootstrapper中,我重写了GetInstance,如下所示: protected override object GetInstance(Type serviceType, string key) { if (string.IsNullOrEmpty(key)) return container.Resolve(serviceType); return container.Resolve(key, serviceType); } 但我正在努力想出一个干净/优雅的方式来调用container.Release(viewModel) 。 似乎没有任何钩子可用于此。 在Caliburn Micro应用程序中释放从ViewModelLocator返回的ViewModel对象的最简单方法是什么?

在Silverlight的扩展方法中使用reflection进行深层复制?

所以我试图找到一个通用的扩展方法,它使用reflection创建一个对象的深层副本,可以在Silverlight中使用。 使用序列化的深层复制在Silverlight中并不是那么好,因为它以部分信任方式运行并且BinaryFormatter不存在。 我也知道,reflection会比克隆序列化更快。 有一个方法可以复制公共,私有和受保护的字段,并且是递归的,这样它就可以复制对象中的对象,并且还可以处理集合,数组等。 我在线搜索,只能使用reflection找到浅拷贝实现。 我不明白为什么,因为你可以使用MemberwiseClone,所以对我来说,这些实现是没用的。 谢谢。