【问题标题】:Can Silverlight Pivotviewer handle 3 levels of semantic zoom?Silverlight Pivotviewer 可以处理 3 级语义缩放吗?
【发布时间】:2013-03-26 20:18:48
【问题描述】:

我可以让 2 个级别的 PivotViewerItemTemplate 正常工作,但不是三个。

如果我将一个模板设置为 MaxWidth=130,下一个模板设置为 MaxWidth=400,然后第三个没有 MaxWidth,则第二个级别开始过渡到第 3 个大约 170 像素,并且仅在 280 像素处不再可见.我希望看到第 2 层,直到它有 400 像素宽。

关于我在这里做错了什么的任何提示?

TIA

【问题讨论】:

    标签: silverlight-5.0 pivotviewer


    【解决方案1】:

    您的 MaxWidth 需要是 2 的幂:32、64、128 等。然后您可以拥有与幂一样多的级别 :) 我在这里写了一篇文章更详细地解释它http://www.rogernoble.com/2012/04/02/picking-maxwidth-for-pivotviewer-semantic-zoom

    【讨论】:

    • 这实际上意味着只有 3 个实用级别:128、512 和 >512。 256 与 128 太接近了,从 2 级到 3 级的转换只需单击鼠标滚轮即可。我没有得到图块的边框宽度和高度与 maxwidth 属性之间的关系 - 宽度和高度是否应该与您的示例中的所有级别保持相同?
    • 我没有尝试过这个 - 但是你关于 powers-of-2 的评论只适用于你使用 DeepZoom 平铺来渲染你的图像的情况。如果您使用的是自定义项目模板,那么我认为没有理由选择二的幂或其他任何东西。如果您使用的是图像,那么在我看来,您可以选择除 256 之外的其他平铺尺寸,这与您的过渡更相关,但如果您使用 deepzoom 来制作图像并希望对这些图像(或按钮)应用一些额外信息) 也许装饰器更好?我没有尝试就这么说。罗杰有更多的经验!
    • 哦,我知道 PV 以某种方式在幕后使用 DeepZoom,即使是我的自定义模板也是如此。我尝试将我的中间模板从 512 设置为 450,然后我回到第 1 格 - 最后一个模板与中间的模板一起显示,宽度小于 150。事实上,即使在 MaxWidth=511 时,它也显示出这种行为。将其设置为 512 即可解决此问题 - 我的第二个模板在该宽度之前一直处于活动状态,然后第三个模板启动。所以看起来只有 3 个实际级别是可能的。
    • 这是正确的 Graeme,即使使用自定义项目模板 PV 将它们转换为客户端上的 DeepZoom 磁贴。您可以继续使用 2 的幂并拥有 1024、2048 等的模板……但您会达到单个图块占据整个屏幕的地步。乍一看,将模板渲染为图像、切片并用作 DeepZoom 集合似乎有点愚蠢,但从 Microsoft 的角度来看,这是以最少的努力实现模板的最简单方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-21
    • 1970-01-01
    • 2017-06-19
    • 2014-02-01
    • 1970-01-01
    • 2014-01-15
    相关资源
    最近更新 更多