Tag: silverlight

同时播放背景音频和video

我需要开发windows phone应用程序。 在页面中,我需要连续运行背景音频和video(在重复模式下)。 对于Audio,我找到了这个例子 。 现在我如何在页面中添加背景video? 在页面中,我需要显示一些文本框和按钮,在后台video和音频都将播放。 音频和video文件都将包含在应用程序中,即不需要蒸汽。

事件发生的次数越来越多

我有一个silverlight mvvm应用程序加载主视图,其中2个用户控件加载到2个ContentControls中,一个用列表框显示项目,另一个用编辑按钮。 当我单击编辑按钮时,2个新用户控件加载到ContentControls中,一个显示要编辑的数据(EditData),另一个显示保存和取消按钮(EditAction)。 当我单击“保存”按钮时,它会引发一个在单独的GlobalEvents.cs类中定义的事件,如: public event EventHandler OnSaveButtonClicked; public void RaiseSaveButtonClicked() { this.OnSaveButtonClicked(this, EventArgs.Empty); } 我在其他用户控件EditData中订阅它,因为我需要通过自定义EventArgs传输该编辑数据,所以我已经放入了它的ViewModel的构造函数: this.globalEvents.OnSaveButtonClicked += (s, e) => SaveData(); 并在保存数据中: public void SaveData() { globalEvents.RaiseSaveData(EditedGuy); } 这会引发另一个事件,将以前的用户控件加载到其ControlContent中,并在列表框中显示已编辑的数据。 多数民众赞成,但每当我点击编辑然后再次保存时,它会将事件提升两次,然后再提高3次,然后再提高4次,依此类推。 我怎样才能让它只被提升一次? 我认为这可能是因为每次我点击编辑,加载了一个用户控件的新实例,我不知道,也许订阅该事件,所以我试图粘贴 this.globalEvents.OnSaveButtonClicked -= (s, e) => SaveData(); 到Dispose()方法但没有成功。 我怎样才能做到这一点?

BitmapCache? 何时以及如何使用?

我对windows phone 7 silverlight应用程序中的位图缓存有疑问。 我应该什么时候使用它? 在什么控制? 我应该缓存位图缓存的控件的缓存子节点吗? 我不确定它是如何工作的,从你们那里得到一些建议会很好。 /理查德

IsolatedStorageFileStream上不允许操作。 错误

我有孤立存储的问题。 这是我的代码: List data = new List(); using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication()) { using (IsolatedStorageFileStream isoStream = isoStore.OpenFile(“Notes.xml”, FileMode.OpenOrCreate)) { XmlSerializer serializer = new XmlSerializer(typeof(List)); data = (List)serializer.Deserialize(isoStream); } } data.Add(new Notes() { Note = “hai”, DT = “Friday” }); return data; 错误:IsolatedStorageFileStream上不允许操作。 在 using (IsolatedStorageFileStream isoStream = isoStore.OpenFile(“Notes.xml”, FileMode.OpenOrCreate))

Silverlight在Winforms中托管

我想通过winforms浏览器在winforms中托管一个silverlight控件,但是为了工作,我需要一些方法让表单与silverlight交谈,以及相反的方式。 是否有可能以两种方式使用JavaScript作为中间人互相交互? 即,让表单与浏览器的javascript说话,并让它与silverlight控件说话? 有没有更好的办法? 甚至是一种方式? (除了将代码编译为silverlight和wpf)

如何将HttpWebRequest与GET方法一起使用

我有以下代码,当方法是“POST”时工作正常,但更改为“GET”不起作用: HttpWebRequest request = null; request = HttpWebRequest.Create(uri) as HttpWebRequest; request.ContentType = “application/x-www-form-urlencoded; charset=UTF-8”; request.Method = “POST”; // Doesn’t work with “GET” request.BeginGetRequestStream(this.RequestCallback, null); 我用“GET”方法得到一个ProtocolViolationExceptionexception。 编辑:看了一下使用Reflector后,似乎有一个显式检查“GET”方法,如果设置为它会抛出exception。 Edit2:我已经将我的代码更新为以下内容,但是当我调用EndGetResponse()时它仍会引发exception if (request.Method == “GET”) { request.BeginGetResponse(this.ResponseCallback, state); } else { request.BeginGetRequestStream(this.RequestCallback, state); } 在我的函数ResponseCallback中,我有这个: HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asyncResult); 这也引发了exception。 回答 上面的代码现在可以工作,我忘了取出Content-Type行,导致exception被抛出。 +1来调整和回答Jon。 工作代码如下: HttpWebRequest request = null; request […]

阅读xml的最佳方式

我有一个像这样的xml文档: 我想使用XmlReader来读取这个xml并返回一个学生List作为List 。 我知道这可以实现如下: List students = new List(); XmlReader reader = XmlReader.Create(“AppManifest.xml”); while (reader.Read()) { if (reader.NodeType == XmlNodeType.Element && reader.Name == “student”) { students.Add(new Student() { Name = reader.GetAttribute(“name”), Class = reader.GetAttribute(“Class”) }); } } 我只是想知道是否有更好的解决方案? 我正在使用silverlight 4.xml结构是静态的,即。 它将只有一个Students节点,所有具有上述属性的学生节点将只在那里。

Silverlight旋转和缩放位图图像以适合矩形而不进行裁剪

我需要旋转一个WriteableBitmap并在它被裁剪之前向下或向上缩放。 我的当前代码将旋转,但如果高度大于宽度,则会裁剪边缘。 我想我需要扩展? public WriteableBitmap Rotate(WriteableBitmap Source, double Angle) { RotateTransform rt = new RotateTransform(); rt.Angle = Angle; TransformGroup transform = new TransformGroup(); transform.Children.Add(rt); Image tempImage2 = new Image(); WriteableBitmap wb; rt.CenterX = Source.PixelWidth / 2; rt.CenterY = Source.PixelHeight / 2; tempImage2.Width = Source.PixelWidth; tempImage2.Height = Source.PixelHeight; wb = new WriteableBitmap((int)(Source.PixelWidth), Source.PixelHeight); tempImage2.Source = Source; […]

具有多个数据模板的列表框 – 所选项目的样式

我有2个数据模板的列表框,我有一个列表框的ItemContainerStyle,它将突出显示列表框中的选定项目。 以下是我的代码: items … Datatemplate with Convertor: items … 我在应用程序栏中有一个按钮,单击该按钮我以编程方式设置NewDataTemplate which will change 2 item colors to green in the list box 。 列表框项目选择器样式: 这将在我们选择项目时应用样式。 现在,当我单击列表框中的项目(表示项目突出显示)时,此样式在我的DefaultDataTemplate上运行良好,但是当设置NewDataTemplate时,样式根本不显示。 我怎样才能解决这个问题 ? 注意:我正在使用Windows Phone 8应用程序。 编辑1 public class BackgroundConvertor: IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { SolidColorBrush solidColorBrush = null; if (value != […]

一个超级简单的MVVM-Light WP7样本?

我正在寻找一个样本,以最轻微的方式演示以下内容: 一个调用基于SOAP的Web服务的模型; 定期轮询以获取最新值(假设SOAP服务返回一个布尔值)。 该模型还应支持调用更改服务器上布尔值的SOAP方法。 一个ViewModel,它允许底层布尔值绑定到View中的控件(例如,复选框)。 具有上述复选框控件的视图绑定到基础布尔值。 根据轮询间隔,复选框将随服务器状态的变化而更新。 如果单击该复选框,则会将事件分派给模型,从而导致服务器更新。 最好这个样本可以在Windows Phone 7上运行,但是在紧要关头我会对支持SL3的东西感到满意(不允许使用SL4命令路由)。 我正在努力了解如何让MVVM-Light为我工作,我怀疑专家可以很快地编写样本代码…我也怀疑这是很多应用程序的相当常见的模式。