0

我有一个 SketchFlow 项目,它是我们正在设计的应用程序的原型,我正处于想将项目导出为另一种格式以进行共享的阶段。

我尝试的第一件事是:

File | Export | Export as Images...

但是,运行完之后,我只有 6 张截图。我的原型中有 30 多个屏幕。有谁知道为什么所有屏幕都没有导出?

然后我尝试了:

File | Export | Export to Microsoft Word...

这会导致以下错误:

在此处输入图像描述

对这里发生的事情有什么想法吗?我曾尝试查找日志文件,但找不到。

我尝试过的最后一个选项是:

File | Export | Package SketchFlow Project...

这似乎工作得很好。但是,我想将图像嵌入到设计文档中,并且真的不想手动截屏,这将是最后的手段。

更新 1

好的,似乎是某些屏幕导致了问题。当我执行“导出到 Microsoft Word...”选项并仅选择第一个屏幕时,Word 文档会正确导出。但是,当我添加另一个屏幕(“导出为图像”方法中未包含的屏幕之一时,我再次收到显示屏幕截图的错误。

更新 2

根据评论中的要求,页面布局如下。

  • 标题组件 - 显示应用程序的整体标题和一些常用按钮。
  • 导航组件 - 所有顶级页面的菜单结构
  • 除登录/注册页面外,所有屏幕都添加了标题和导航组件

一些屏幕使用示例数据来填充页面上的元素。其他只是简单的控件,布置在页面上。

更新 3

好的,我刚刚做了一个非常全面的测试,当使用“导出到 Microsoft Word...”时,如果我排除了所有使用示例数据的屏幕,则导出成功完成。一旦我将任何屏幕包含示例数据,它就会引发异常。我只能假设“导出为图像...”在点击包含样本数据的第一个屏幕时会默默地失败。

4

2 回答 2

1

这是一个错误。它与资源解析有关。您可以通过将 ItemTemplate 属性设置为本地而不是默认资源来解决问题。

例如,使用数据绑定展示说明构建的重现 - http://www.microsoft.com/en-us/showcase/details.aspx?uuid=db8a7eb6-3039-4008-a9f2-f5c910bcddf3

替换 ItemTemplate

<ListBox HorizontalAlignment="Left" Height="330" Margin="73,40,0,0" Style="{DynamicResource ListBox-Sketch}" VerticalAlignment="Top" Width="535" ItemsSource="{Binding Collection, Source={StaticResource snowboardData}}" DataContext="{Binding Source={StaticResource SampleDataSource}}" ItemTemplate="{DynamicResource ItemTemplate}"/>
<ListBox HorizontalAlignment="Left" Height="330" Margin="73,40,0,0" Style="{DynamicResource ListBox-Sketch}" VerticalAlignment="Top" Width="535" ItemsSource="{Binding Collection, Source={StaticResource snowboardData}}" DataContext="{Binding Source={StaticResource SampleDataSource}}">
<ListBox.ItemTemplate>
                        <DataTemplate>
                                    <StackPanel>
                                                <Image Source="{Binding Images}" HorizontalAlignment="Left" Height="64" Width="511"/>
                                                <TextBlock Text="{Binding Text}" Style="{DynamicResource BasicTextBlock-Sketch}"/>
                                    </StackPanel>
                        </DataTemplate>
            </ListBox.ItemTemplate>                                   
</ListBox>

允许我导出到 Word。

这已向 Microsoft 报告,应在未来的 VS/Blend 更新中修复。

于 2014-09-19T19:39:15.850 回答
0

在与@shawty 反复离线之后,我们相信我们已经找到了导出失败的原因。当包含样本数据时,它并不特别与导出相关,但更具体地说,当使用带有草图控件的样本数据时。

这就是我为验证这一点所做的......

  1. 创建了新的草图流项目
  2. 向页面添加了 ComboBox 控件
  3. 将数据源添加到数据选项卡
  4. 添加了集合属性
  5. 向集合添加了简单属性
  6. 编辑数据以包含一些示例数据
  7. 将 ComboBox 绑定到示例数据
  8. 运行应用程序以确保它正常工作
  9. 运行导出到 Microsoft Word...
  10. 一切正常

然后,我使用 ComboBox - Sketch 控件重复了“完全相同”的过程,而 Export to Microsoft Word... 无法正常工作,并显示了上述问题中显示的错误消息。

@shawty 建议的解决方法如下:

“草图控件在功能上与引擎盖下的 OOTB 控件完全相同,它们只是应用了不同的样式字典,我的建议是采用 OOTB 控件,向它们添加您自己的样式集以赋予它们类似的外观。您只需在应用程序级别为每个适当的控件(按钮、标签、数据网格和您使用的任何其他控件)定义一次资源字典,整个应用程序将保持相同的外观和感觉。 "

虽然这是一个完全可行的解决方案,但无论如何我认为这是 Sketch Flow 应用程序中的一个错误。我只是不知道在哪里提出这个错误,因为似乎没有关于 Microsoft Connect 的部分来提出关于 Blend 和/或 Sketch Flow 的错误。如果有人知道我可以把这个带到哪里,我很想听听。

于 2014-09-03T09:24:13.697 回答