Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A ModelItem szerkesztési környezet az az objektum, amelyet a gazdaalkalmazás a tervezővel való kommunikációhoz használ. EditingContextkét metódust tesz elérhetővé, Items és Services
Az Elemek gyűjtemény
A Items gyűjtemény a gazdagép és a tervező között megosztott adatok, illetve az összes tervező számára elérhető adatok elérésére szolgál. Ez a gyűjtemény a következő képességekkel rendelkezik, és az ContextItemManager osztályon keresztül érhető el:
A Szolgáltatások gyűjtemény
A Services gyűjteményt olyan szolgáltatások elérésére használják, amelyeket a tervező a gazdagéppel való interakcióhoz használ, vagy amelyeket minden tervező igénybe vesz. Ez a gyűjtemény a következő megjegyzési módszerekkel rendelkezik:
A tervező hozzárendelése egy tevékenységhez
Annak megadásához, hogy melyik tervezőt használja a tevékenység, a Program a Designer attribútumot használja.
[Designer(typeof(MyClassDesigner))]
public sealed class MyClass : CodeActivity
{
}
Szolgáltatás létrehozása
A tervező és a gazdagép közötti információáthelyként szolgáló szolgáltatás létrehozásához létre kell hozni egy felületet és egy implementációt. A metódus a Publish felület használatával határozza meg a szolgáltatás tagjait, és az implementáció tartalmazza a szolgáltatás logikáját. Az alábbi kódpéldában létrejön egy szolgáltatásfelület és egy implementáció.
public interface IMyService
{
IEnumerable<string> GetValues(string DisplayName);
}
public class MyServiceImpl : IMyService
{
public IEnumerable<string> GetValues(string DisplayName)
{
return new string[] {
DisplayName + " One",
DisplayName + " Two",
"Three " + DisplayName
} ;
}
}
Szolgáltatás közzététele
Ahhoz, hogy egy tervező használhassa a szolgáltatást, először a gazdagépnek kell közzétennie a Publish metódussal.
this.Context.Services.Publish<IMyService>(new MyServiceImpl);
Előfizetés szolgáltatásra
A tervező a Subscribe metódusban a OnModelItemChanged metódus segítségével szerez hozzáférést a szolgáltatáshoz. Az alábbi kódrészlet bemutatja, hogyan lehet feliratkozni egy szolgáltatásra.
protected override void OnModelItemChanged(object newItem)
{
if (!subscribed)
{
this.Context.Services.Subscribe<IMyService>(
servInstance =>
{
listBox1.ItemsSource = servInstance.GetValues(this.ModelItem.Properties["DisplayName"].ComputedValue.ToString());
}
);
subscribed = true;
}
}
Adatok megosztása az Elemek gyűjtemény használatával
Az Elemek gyűjtemény használata hasonló a Szolgáltatások gyűjteményhez, azzal a különbséggel, hogy itt SetValue-t használnak közzététel helyett. Ez a gyűjtemény inkább az egyszerű adatok tervezők és a gazdagép közötti megosztására alkalmas, mintsem összetett funkciók megvalósítására.
Szerkesztési kontextus gazdagép-elemek és szolgáltatások
A .NET-keretrendszer számos beépített elemet és szolgáltatást biztosít, amelyek a szerkesztési környezeten keresztül érhetők el.
Elemek:
AssemblyContextControlItem: Kezeli a hivatkozott helyi szerelvények listáját, amelyeket a munkafolyamat vezérlőihez (például a kifejezésszerkesztőhöz) használnak.
ReadOnlyState: Azt jelzi, hogy a tervező írásvédett állapotban van-e.
Selection: Az aktuálisan kijelölt objektumok gyűjteményét határozza meg.
WorkflowFileItem: Információt nyújt arról a fájlról, amelyen az aktuális szerkesztési munkamenet alapul.
Szolgáltatás:
AttachedPropertiesService: Az AddProperty használatával lehetővé teszi tulajdonságok hozzáadását az aktuális példányhoz.
DesignerView: Lehetővé teszi a tervezővászon tulajdonságainak elérését.
IActivityToolboxService: Lehetővé teszi az eszközkészlet tartalmának frissítését.
ICommandService: Tervezői parancsok (például helyi menü) egyéni szolgáltatás-implementációkkal való integrálására szolgál.
IDesignerDebugView: A tervező hibakeresőjének funkcióit biztosítja.
IExpressionEditorService: Hozzáférést biztosít a Kifejezésszerkesztő párbeszédpanelhez.
IIntegratedHelpService: Integrált súgófunkciót biztosít a tervezőnek.
IValidationErrorService: Hozzáférést biztosít az érvényesítési hibákhoz az alábbi használatával: ShowValidationErrors.
IWorkflowDesignerStorageService: Belső szolgáltatást biztosít az adatok tárolásához és lekéréséhez. Ezt a szolgáltatást a .NET-keretrendszer belsőleg használja, és nem külső használatra készült.
IXamlLoadErrorService: Hozzáférést biztosít az XAML betöltési hibagyűjteményhez ShowXamlLoadErrors használatával.
ModelService: A tervező használja a szerkesztett munkafolyamat modelljének kezelésére.
ModelTreeManager: Hozzáférést biztosít a modellelem-fa gyökeréhez a Root használatával.
UndoEngine: Visszavonási és ismétlési funkciókat biztosít.
ViewService: Vizualizációs elemeket rendel össze a mögöttes modell elemeivel.
ViewStateService: Az áruházak megtekinthetik a modellelemek állapotát.
VirtualizedContainerService: A virtuális tároló felhasználói felületének viselkedésének testreszabására szolgál.
WindowHelperService: A meghatalmazottak regisztrálására és regisztrációjának törlésére szolgál az eseményértesítésekhez. Emellett lehetővé teszi az ablak tulajdonosának beállítását is.