程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> 更改自定義活動設計器上的圖標

更改自定義活動設計器上的圖標

編輯:關於.NET

本文內容基於.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>

將該活動拖到工作流設計器中,我們可以看到如下:

目前為止所有都很順利,現在我們要改變設計器左上角的圖標,設計器有Icon屬性,但不幸的是現在我們在屬性窗格還不能做任何事情。

為了更改圖標我們需要添加一些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”,如下:

 

項目重新生成後,工作流設計器中的圖標就變為新的圖標了,如下:

出處:http://carysun.cnblogs.com/

原文地址:

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved