对数据透视控件(System.Windows.FrameworkElement.Style)上的Silverlight异常进行故障排除

时间:2011-02-19 21:33:57

标签: silverlight visual-studio-2010 silverlight-4.0 pivotviewer

我试图让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标记,即使它看起来都是有效的。


如果它有用,我列出了我在下面设置它的步骤。

  1. 创建新的MVC3 Web应用程序
  2. 在同一解决方案中创建Silverlight 4应用程序项目,并将其添加到Web项目
  3. 添加五个System.Windows.Pivot程序集引用
  4. 将控件添加到我的MainPage.xaml

    <Grid x:Name="LayoutRoot" Background="White">
        <Pivot:PivotViewer x:Name="Viewer" />
    </Grid>
    

  5. 汇总收集网址:Viewer.LoadCollection(initParams["CollectionUrl"], null);

  6. 在视图中设置适当的值:
  7. `

    <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非常陌生,而且有点像拔头发。

2 个答案:

答案 0 :(得分:0)

看起来你在@ ViewBag.CollectionUrl前面缺少&lt;%。

答案 1 :(得分:0)

我注意到我只使用了两台Visual Studio开发机器中的一台,遇到了同样的问题。违规机器可能安装了一些错误版本的Silverlight依赖项,或者缺少一些至关重要的东西。干净安装VS 2010和所有Silverlight开发工具以及Pivot Control解决了这个问题。因此,对于碰巧碰到这篇文章的人来说,这个错误可能是由不正确/不完整的Silverlight / Pivot开发环境引起的。

所需的工具是:

Visual Studio 2010.在Dreamspark

获取学者的免费版本

Silverlight 4 Tools for VS 2010

Silverlight 4 Toolkit

Silverlight Developer Runtime