MSDN > 論壇首頁 > SharePoint - Workflow > Sharepoint Custom Activity for workflows : dependency property which is of type "Typed DataTable".
發問發問
 

已答覆Sharepoint Custom Activity for workflows : dependency property which is of type "Typed DataTable".

  • 2009年1月5日 上午 10:57MonicaT 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     
    Hi,

    I m creating a sharepoint custom activity for workflows.
    Can someone please tell me if it is feasible to create a dependency property which is of type "Typed DataTable"?


    I have created a property as:

    public static DependencyProperty DtProperty = DependencyProperty.Register("DtProperty", typeof(TypedDataTable.DataTable), typeof(Activity.OperationActivity));

    [DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible)]

    [BrowsableAttribute(true)]

    [CategoryAttribute("Misc")]

    public TypedDataTable.DataTable dt1
    {

    get

    {

    return ((TypedDataTable.DataTable)(base.GetValue(Activity.OperationActivity.DtProperty )));

    }

    set

    {

    base.SetValue(Activity.OperationActivity.DtProperty  value);

    }

    }


    It gives me below error message:
    Could not create activity of type 'Activity.OperationActivity'. System.ArgumentException: Type 'Activity.OperationActivity' does not define a static dependency property with name 'DtPropertyProperty'.
    Parameter name: ownerType
       at System.Workflow.ComponentModel.DependencyProperty.ValidateAndRegister(String name, Type propertyType, Type ownerType, PropertyMetadata defaultMetadata, Type validatorType, Boolean isRegistered)
       at System.Workflow.ComponentModel.DependencyProperty.Register(String name, Type propertyType, Type ownerType)
       at Activity.OperationActivity..cctor()


    Any help on this??

解答

  • 2009年1月7日 上午 01:39Windie Chai [MVP]MVP使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     已答覆包含代碼
     Hi,

    The correct code should be:

    public static DependencyProperty DtProperty = DependencyProperty.Register("dt1", typeof(TypedDataTable.DataTable), typeof(Activity.OperationActivity));
    ......
    public
     TypedDataTable.DataTable
    dt1
    {
    ......
    }

    the 1st parameter of Register method must be a correct valid property name, and the 2nd parameter is the type of that property.

    And I must remind you, if you want to use this property in SharePoint workflow, please ensure TypedDataTable.DataTable can be serialize.


    My blog: http://xiaoshatian.cnblogs.com

所有回覆

  • 2009年1月5日 下午 01:42Michael Washam - MSFTMSFT, 版主使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     
    Moving to the workflow forums
    Posting is provided "AS IS" with no warranties, and confers no rights.
  • 2009年1月7日 上午 01:39Windie Chai [MVP]MVP使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     已答覆包含代碼
     Hi,

    The correct code should be:

    public static DependencyProperty DtProperty = DependencyProperty.Register("dt1", typeof(TypedDataTable.DataTable), typeof(Activity.OperationActivity));
    ......
    public
     TypedDataTable.DataTable
    dt1
    {
    ......
    }

    the 1st parameter of Register method must be a correct valid property name, and the 2nd parameter is the type of that property.

    And I must remind you, if you want to use this property in SharePoint workflow, please ensure TypedDataTable.DataTable can be serialize.


    My blog: http://xiaoshatian.cnblogs.com