2011-01-06 4 views
1

Off spät Ich habe auf Sharepoint-Workflow arbeiten, in Sharepoint 2010. Während eine Task-Aktivität erstellen, erstellen i ususally Aufgabe von Workflow-Code hinter wie ..Was ist DependancyProperty für den SharePoint-Workflow?

CreateTask task = sender as CreateTask; 
task.TaskId = Guid.NewGuid(); 

SPWorkflowTaskProperties wtp = new SPWorkflowTaskProperties(); 
wtp.PercentComplete = (float)0.0; 
wtp.AssignedTo = "DOMAIN\USER_DomainID" 

ich von Workflow-Designer zu sehen, die für Createaktivitätseigenschaft Seite können Sie auch SPWorkflowTaskProperties entweder als Feld oder als Eigenschaft festlegen. Wenn wir diese Eigenschaft als Eigenschaft erstellen, wird DependancyProperty erstellt. Ich bin mir nicht sicher, wann ich Field und wann Property verwenden soll. und was nützt jede Option? Kann mir bitte jemand erklären?

Antwort

2

Vielleicht helfen: Using Dependency Properties (WF)

Auf den Punkt gebracht, Abhängigkeitseigenschaften sind Eigenschaften auf Steroiden. Sie unterstützen Änderungsbenachrichtigung, Wertvererbung, Standardwerte, Datenbindung, Nötigung, Animation, usw. Naja, in der Theorie sowieso. Die Workflow-Foundation (die übrigens in .NET 4 vollständig verschrottet und ersetzt wurde - so dass SharePoint 2010-Workflows auf nicht mehr verwendeten Technologien basieren) hat einen völlig bösen Trupp gemacht und das gesamte Abhängigkeitseigenschaftssystem neu erfunden, für das sie erstellt wurde WPF. Wenn Sie in MSDN nach DependencyProperty suchen, werden zwei Einträge in zwei verschiedenen Namespaces/Assemblys angezeigt. Die Workflow-Version ist viel begrenzter als die WPF-Version und sie sind überhaupt nicht austauschbar.

Aber um Ihre Frage zu beantworten, sollten Sie das Feld nicht direkt verwenden. Führen Sie immer die CLR-Eigenschaft durch, die das Abhängigkeitseigenschaftsfeld umschließt.

+0

Josh, Danke für die URL, ich verstand die Syntex, aber ich verstehe immer noch nicht, in welchem ​​Szenario ich Property über Field speziell für CreateTask Workflow-Aktivität verwenden sollte. Kannst du bitte Erklären ? –