Telerik学习笔记

 最近做开始Silverlight项目,用到了telerik的一些控件,功能十分强大,截取Demo的几个图,如下

Google地图

Telerik地图界面

翻转效果

更多控件及效果,可以到主页 http://www.telerik.com/ 查看

这里插一句,对世界杯和Silverlight感兴趣的博友,可以看看ERSI用Silverlight做的网站

http://explorer.arcgis.com/?open=cbb4ece39d2641f294227f5c8db9bd0f

我所用的还是2009Q3版本的(目前最新的是2010Q2beta版)Demo,工程为VS2008(包括C#、VB.NET),其中用到的WCF RIA SERVICE用的还是针对VS2008的1.0版,不支持新版本的WCF RIA SERVICE(新旧版本RIA的区别见微软官方文档“RIA_Services_Breaking_Changes”)

由于在VS2008下,看不到Silverlight3 XAML的界面,因此,我决定手动迁移到VS2010。按照Demo一步一步新建工程,拷贝\改写文件,其中ExamplesWeb是承载名为Examples的Silverlight应用程序的网站,Examples为入口界面,因此决定先从Examples项目工程入手,这里需要注意几个方面:

一、MainPage函数是继承自 Telerik.Windows.QuickStart.MainPage,不是UserControl,并且有参数

代码
public partial class MainPage : Telerik.Windows.QuickStart.MainPage
{
public MainPage(bool switchOffAnimation)
{
InitializeComponent();

base.SwitchOffAnimation = switchOffAnimation;
}
}

二、MainPage的XAML如下,APP的XAML也做了一定修改

代码
<qsf:MainPage x:Class="Telerik.Windows.Examples.MainPage"
xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:qsf
="clr-namespace:Telerik.Windows.QuickStart;assembly=Telerik.Windows.QuickStart">
</qsf:MainPage>

三、在APP的Application_Startup函数中,添加了一些对启动页面的设置

代码
private void Application_Startup(object sender, StartupEventArgs e)
{
string appUri = System.Windows.Browser.HtmlPage.Document.DocumentUri.AbsoluteUri;
int index = appUri.LastIndexOf("TestPage.aspx", StringComparison.OrdinalIgnoreCase);

bool switchOffAnimation = index != -1;

this.RootVisual = new MainPage(switchOffAnimation);
}

四、注意程序集名称及命名空间,我认为命名空间设为Telerik.Windows.Examples比较合适(项目仍然是Examples),这样添加其他文件命名空间也同原来的相同

做完上述事情及拷贝其他文件后,编译能通过,但每次运行,都报

错误: Unhandled Error in Silverlight Application
Code: 2103   
Category: InitializeError      
Message: 应用程序无效或格式不正确: 请查看清单

通过工程设置对比怎么都查不出来错误,最后只能对比两者的.csproj文件,才发现原来的csproj中多了个target文件

拷贝此文件到Examples的上一级目录,并添加段,重新加载运行,终于通过了。。。

希望各位感兴趣的博友也可以把自己的研究心得拿出来分享,今天就到这了

错误说明

如果出现“The entity 'ExamplesWeb.Customer' does not have a key”的错误,是RIA的版本过高导致

原文地址:https://www.cnblogs.com/Landlord/p/1764808.html