1

我有一个正在开发的 PivotViewer 应用程序,但是我无法让它运行。

我有一个很好的 .cxml 文件(我使用 Pauthor 生成相关的深度缩放文件)。我尝试从 VS 2010 int debug 内部运行它,甚至构建它并尝试从我的本地主机运行它。我已经在 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 现在是透视查看器的 Height 属性的等号。有趣的是,在我添加 height 属性之前,该项目在 x:Name 属性的等号处抛出了这个错误。

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

更新:

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

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

4

1 回答 1

2

好的....所以这里有很多令人沮丧的谷歌搜索和futzing揭示的问题:

 Loaded="UserControl_Loaded"

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

我还将 LoadCollection 方法从它自己的事件中移出并移到 UserControl_Loaded 事件中,并让事情取得进展。

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

最后,我被引导相信您必须使用免费提供的 Pauthor 工具或 Excel 插件才能将您的收藏转换为 Deep Zoom。这也需要使用 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 文件结构和解决方案设置。

于 2011-08-04T14:44:25.617 回答