我正在使用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次点击。其中一半是无关的。另一半是另一个人,看似是同样的问题发布到六个或更多的论坛,也没有得到答案。
答案 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文件结构和解决方案设置。