我有一个有点令人抓狂的问题,只是试图让 Silverlight Pivot Control 开箱即用。
当我将所有内容连接在一起时,我在 JavaScript 错误中看到了这个堆栈跟踪:
Unhandled Error in Silverlight Application Set property 'System.Windows.FrameworkElement.Style' threw an exception. [Line: 9 Position: 35] at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
at VehiclePivotViewer.MainPage.InitializeComponent()
at VehiclePivotViewer.MainPage..ctor(IDictionary`2 initParams)
at VehiclePivotViewer.App.Application_Startup(Object sender, StartupEventArgs e)
at MS.Internal.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex, Delegate handlerDelegate, Object sender, Object args)
at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName)
我实际上下载了一个帮助程序库以进一步研究该异常,看起来MainPage.xaml 标记很难处理,即使它看起来都是有效的。
如果它有帮助,我在下面列出了我为设置它所采取的步骤。
- 创建一个新的 MVC3 Web 应用程序
- 在同一解决方案中创建一个 Silverlight 4 应用程序项目,并将其添加到 Web 项目中
- 添加五个
System.Windows.Pivot
程序集引用 将控件添加到我的 MainPage.xaml
<Grid x:Name="LayoutRoot" Background="White"> <Pivot:PivotViewer x:Name="Viewer" /> </Grid>
连接集合 URL:
Viewer.LoadCollection(initParams["CollectionUrl"], null);
- 在视图中设置适当的值:
`
<div id="silverlightControlHost">
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="ClientBin/xxxPivotViewer.xap"/>
<param name="onError" value="onSilverlightError" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="4.0.50826.0" />
<param name="autoUpgrade" value="true" />
<param name="enableHtmlAccess" value="true" />
<param name="initParams" value="collectionUrl=@ViewBag.CollectionUrl %>" />
<a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50826.0" style="text-decoration:none">
<img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/>
</a>
</object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
`
有人有什么想法或建议吗?我对 Silverlight 非常陌生,我有点想把我的头发拉出来。