WF saját activity designer

A Workflow Foundation lehetővé teszi, hogy saját activity osztályunkhoz saját designer osztályt rendeljünk, ami meghatározza, hogyan fog viselkedni a komponensünk a Visual Studio környezetében. Ehhez mindössze egy osztályt kell készítenünk és egy attribútummal hozzárendelnünk az activity-hez:

[Designer( typeof( MyActivityDesigner ) )]
public partial class MyActivity : Activity
{…}

Hasznos lehet például, ha megváltoztatjuk azt a szöveget, ami az activity-n megjelenik a designerben. A nevén kívül több hasznos információt ki tudunk írni arra a kis helyre. Ha tényleg csak ennyi a feladatunk és nem akarjuk teljesen átvenni az activity megrajzolásának bonyodalmait, akkor egyszerűen felüldefiniálhatjuk a Text tulajdonságot:

public sealed class MyActivityDesigner : ActivityDesigner
{
  //…
  public override string Text
  {
    get
    {
      MyActivity activity = (MyActivity) this.Activity;
      return String.Format( "{0}: {1} -> {2}", base.Text, Path.GetFileName( activity.SourceFolder ), Path.GetFileName( activity.TargetFolder ) );
    }
    protected set
    {
      base.Text = value;
    }
  }
}

Előfordulhat persze, hogy az így összeállított szöveg nem fér bele a dobozba. Hosszú Reflectorozás után jó megoldásnak látszik a MinimumSize tulajdonság felüldefiniálása:

public override System.Drawing.Size MinimumSize
{
  get
  {
    return new System.Drawing.Size( 250, base.MinimumSize.Height );
  }
}

Ennél persze kifinomultabb megoldások is elképzelhetőek. Akinek van ötlete, írjon!

Advertisements

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s