VS 2015中的Workflow Foundation 4 - 不显示活动工具箱位图

时间:2016-02-13 21:10:35

标签: bitmap visual-studio-2015 workflow-foundation-4 workflow-foundation toolbox

我已经阅读了多篇关于此的教程/博客/ stackoverflow问题,包括以下内容:

还有更多。

他们中的大多数已经过时了。 有人建议Activity Designer库名称应以 Design.dll 结尾,其他人则表示应以 VisualStudio.Design.dll 结尾。 有人说库应该部署到visual studio bin路径,其他人说它不是必需的。

这一切都非常令人困惑。

我可以使活动工具箱位图仅在使用时正确显示 ToolboxBitmapAttribute直接在活动上,并且仅当嵌入的bmp图标位于活动库中时,例如:

Q

如果我将位图移动到活动设计器库,引用活动库中的活动设计器库,并直接在活动上使用ToolboxBitmapAttribute(使用正确的嵌入路径并使用活动设计器库中的类型) - 它不行。

[ToolboxBitmap(typeof(MyActivity), "Resources.Bitmaps.MyActivity.bmp"]
public class MyActivity : CodeActivity
{
}

如果我在ActivityDesigner库中使用IRegisterMetadata接口,请将ToolboxBitmapAttribute注册到元数据存储中的MyActivity类型:

[ToolboxBitmap(typeof(MyActivityDesigner), "Resources.Bitmaps.MyActivity.bmp"]
public class MyActivity : CodeActivity
{
}

该活动仍然没有工具箱位图。

活动设计师工作正常!

所以似乎VS正在加载MyActivities.Design.dll库,但出于某种原因忽略了ToolboxBitmapAttribute。

我会很感激这个暗示。

1 个答案:

答案 0 :(得分:0)

您可能想尝试使用ActivityDesigner的Icon属性。确保图像位于活动设计器的项目中,并标记为“构建操作上的资源”:

<sap:ActivityDesigner.Icon>
    <DrawingBrush>
        <DrawingBrush.Drawing>
            <ImageDrawing>
                <ImageDrawing.Rect>
                    <Rect Location="0,0" Size="25,25" ></Rect>
                </ImageDrawing.Rect>
                <ImageDrawing.ImageSource>
                    <BitmapImage UriSource="MyActivityIcon.png" />
                </ImageDrawing.ImageSource>
            </ImageDrawing>
        </DrawingBrush.Drawing>
    </DrawingBrush>
</sap:ActivityDesigner.Icon>