[译]更改自定义活动设计器上的图标

简介:

原文地址:

http://msmvps.com/blogs/theproblemsolver/archive/2010/01/25/changing-the-icon-on-a-custom-activity-designer.aspx 

本文内容基于.NET Framework 4.0 Beta2 

当我们创建一个自定义活动设计器的时候,更改它的图标往往是第一件我们想做的事情。这点在WF4中并不难,假如我们有如下一个简单的WriteLine活动:

[Designer(typeof(MyWriteLineDesigner))]

public sealed class MyWriteLine : CodeActivity

{   

    // Define an activity input argument of type string   

    public InArgument<string> Text { get; set; }    

    // If your activity returns a value, derive from CodeActivity<TResult>   

    // and return the value from the Execute method.   

    protected override void Execute(CodeActivityContext context)   

    {       

        // Obtain the runtime value of the Text input argument       

        string text = context.GetValue(this.Text);       

        Console.WriteLine(text);  

    }

}

使用Designer属性将我们自己的设计器附加到上面的活动上,下面是标准的设计器:

<sap:ActivityDesigner x:Class="WorkflowConsoleApplication10.MyWriteLineDesigner1"

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    xmlns:sap="clr-namespace:System.Activities.Presentation;assembly=System.Activities.Presentation"

    xmlns:sapv="clr-namespace:System.Activities.Presentation.View;assembly=System.Activities.Presentation">

    <Grid>       

    </Grid>

</sap:ActivityDesigner>

将该活动拖到工作流设计器中,我们可以看到如下:

clip_image002

目前为止所有都很顺利,现在我们要改变设计器左上角的图标,设计器有Icon属性,但不幸的是现在我们在属性窗格还不能做任何事情。

clip_image004

为了更改图标我们需要添加一些xaml告诉设计器画什么,代码如下:

<sap:ActivityDesigner x:Class="WorkflowConsoleApplication10.MyWriteLineDesigner1"

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    xmlns:sap="clr-namespace:System.Activities.Presentation;assembly=System.Activities.Presentation"

    xmlns:sapv="clr-namespace:System.Activities.Presentation.View;assembly=System.Activities.Presentation">

    <sap:ActivityDesigner.Icon>

        <DrawingBrush>

            <DrawingBrush.Drawing>

                <ImageDrawing>

                    <ImageDrawing.Rect>

                        <Rect Location="0,0" Size="16,16" ></Rect>

                    </ImageDrawing.Rect>

                    <ImageDrawing.ImageSource>

                        <BitmapImage UriSource="Clipboard_edit.png" ></BitmapImage>

                    </ImageDrawing.ImageSource>

                </ImageDrawing>

            </DrawingBrush.Drawing>

        </DrawingBrush>

    </sap:ActivityDesigner.Icon>

    <Grid>       

    </Grid>

</sap:ActivityDesigner>

 

sap:ActivityDesigner.Icon元素内部我们添加了一个DrawingBrush,并使用BitmapImage指向一个文件。文件clipboard_edit.png的生成操作属性已经被设置为“Resource”,如下:

clip_image006 clip_image008

项目重新生成后,工作流设计器中的图标就变为新的图标了,如下:

clip_image010

 

 

本文转自生鱼片博客园博客,原文链接:http://www.cnblogs.com/carysun/archive/2010/01/26/WF4-ActivityDesigner-Icon.html,如需转载请自行联系原作者

 

相关文章
|
21小时前
完成切换网络+修改网络连接图标提示的代码框架
完成切换网络+修改网络连接图标提示的代码框架
|
1月前
|
搜索推荐
7、自定义工作界面
这篇文章是关于如何自定义Photoshop工作界面的,但具体内容没有在摘要中提供,因此无法给出详细摘要。如果需要了解Photoshop工作界面的自定义方法,包括面板、菜单、快捷键等的个性化设置,建议直接访问博客以获取完整信息。
7、自定义工作界面
如何创建一个用户看不到的窗口。
如何创建一个用户看不到的窗口。
|
11月前
|
缓存 Java Maven
为网站设置欢迎页面和自定义网站的图标教程~
为网站设置欢迎页面和自定义网站的图标教程~
|
JavaScript
fastadmin 自定义 按钮 动态切换数据 TAB切换
fastadmin 自定义 按钮 动态切换数据 TAB切换
256 0
|
前端开发
前端工作总结108-修改新增按钮显示逻辑
前端工作总结108-修改新增按钮显示逻辑
101 0
前端工作总结108-修改新增按钮显示逻辑
|
前端开发
前端工作小结88-定义有对话框的按钮
前端工作小结88-定义有对话框的按钮
89 0
|
前端开发
前端工作小结89-按钮禁用
前端工作小结89-按钮禁用
115 0
|
Web App开发 iOS开发
对Web设计有用的10组免费漂亮的图标
图标,使用在正确的位置,正确的选择,可以充分表达出思想和信息。漂亮的有品位的图标,可以帮助Web开发者的设计更能吸引用户的注意。 下面是10组,免费并且漂亮的图标,希望能让你的Web设计增辉! Iconic Iconic由136个高度灵活性的图标组成,具有不同的颜色和5种不同的尺寸(8×8, 12×12, 16×16, 24×24 & 32×32)。
1303 0