为什么我的Silverlight PivotViewer不会加载?

时间:2011-07-27 22:40:26

标签: asp.net silverlight visual-studio-2010 silverlight-4.0 pivotviewer

我正在使用PivotViewer应用程序,但是,我无法让它运行。

我有一个很好的.cxml文件(我使用Pauthor生成相关的深度缩放文件)。我已经尝试从VS 2010 int debug内部运行它,甚至构建它并尝试从我的localhost运行它。我在Firefox和IE中都检查了它。我确定它放在一个有宽度和高度的容器中。我已经确定我拥有最新的silverlight.js,我在IIS上设置了适当的MIME。

我的XAML:

    <UserControl x:Class="DomPivot.MainPage"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
      xmlns:pivot="clr-namespace:System.Windows.Pivot;assembly=System.Windows.Pivot"
      mc:Ignorable="d"
      d:DesignHeight="400" d:DesignWidth="400" Loaded="UserControl_Loaded">

      <Grid x:Name="LayoutRoot" Background="White" Width="400" Height="400">
        <pivot:PivotViewer x:Name="myPivot" Height="350"></pivot:PivotViewer>
      </Grid>
    </UserControl>

我的错误:

    Error: Unhandled Error in Silverlight Application Set property 'System.Windows.FrameworkElement.Style' threw an exception. [Line: 11 Position: 52]   
    at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
    at DominionPivot.MainPage.InitializeComponent()
    at DominionPivot.MainPage..ctor()
    at DominionPivot.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)

源文件:DomPivotTestPage.aspx 行:0

第11行main.xaml的位置52现在是pivotviewer的Height属性的等号。有趣的是,在我添加了height属性之前,项目在x:Name属性的等号处抛出了这个错误。

我不明白为什么我会收到这个错误并希望得到一些帮助。我在这里调查了其他主题,但这些答案都没有奏效或与我的情况有关。

更新:

我试图通过尝试从公共源加载.CXML文件来确保不会出现某种其他错误,从而无法加载控件。结果相同。我不认为控件本身是加载的,因此,我甚至无法调试加载集合的代码。

谷歌搜索“Silverlight应用程序集属性中的未处理错误'System.Windows.FrameworkElement.Style'引发异常。”没有帮助。它返回24次点击。其中一半是无关的。另一半是另一个人,看似是同样的问题发布到六个或更多的论坛,也没有得到答案。

1 个答案:

答案 0 :(得分:2)

好的....所以这里有许多令人沮丧的谷歌搜索和未来的问题:

 Loaded="UserControl_Loaded"

我不完全确定此参数在我的UserControl标记中是如何结束的,但是,这是不必要的并且消除了我的问题中引用的错误。

我还将LoadCollection方法移出了自己的事件并进入了UserControl_Loaded事件,并使事情进展顺利。

接下来,我发现如果您使用Visual Studio来运行项目,请确保在代码和Web项目设置中指定端口号。当您发布到实时服务器时,显然需要更改这些内容。

最后,我被引导相信您无法使用免费的Pauthor工具或Excel插件将您的收藏转换为深度缩放。这也需要使用IIS来允许.dzi和.dzc。

不是这样。有一个免费提供的Microsoft Deep Zoom Composer工具。在该工具中,您可以构建深度缩放并导出集合。你最终会得到几个xml文件和图像文件夹。我发现您所要做的就是将collection.cxml中的output_dzc.xml文件作为ImgBase引用,并确保两个文件之间的ID匹配。就是这样。

我希望这可以节省一些人在过去几周中遇到的挫败感,试图使用这种令人敬畏但可怜的记录不足的控制。

我也会推荐这篇博文:

http://indiandotnet.wordpress.com/2011/02/12/pivot-viewer-example-cricket-world-cup-2011/

它包含一个非常简单的pivotviewer VS 2010解决方案文件的链接,您可以使用它来检查和熟悉文件和目录结构以及必要的XML文件结构和解决方案设置。